
第一题不高兴的津津1.1 题目描述津津上初中了。妈妈认为津津应该更加用功学习所以津津除了上学之外还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴而且上得越久就会越不高兴。假设津津不会因为其它事不高兴并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排看看下周她会不会不高兴如果会的话哪天最不高兴。1.2 输入格式输入包括 $7$ 行数据分别表示周一到周日的日程安排。每行包括两个小于 $10$ 的非负整数用空格隔开分别表示津津在学校上课的时间和妈妈安排她上课的时间。1.3 输出格式一个数字。如果不会不高兴则输出 $0$如果会则输出最不高兴的是周几用 $1, 2, 3, 4, 5, 6, 7$ 分别表示周一周二周三周四周五周六周日。如果有两天或两天以上不高兴的程度相当则输出时间最靠前的一天。1.4 输入输出样例输入 #1输出 #15 36 27 25 35 40 40 631.5 可参考代码unhappy [0] * 7 # 创建长度为 7 的列表用来存每天的总时长 # 读入 7 天的数据计算每天的总时长 for i in range(7): a, b input().split() # 输入当天的上课时间和课外班时间字符串 a int(a) # 转成整数 b int(b) # 转成整数 unhappy[i] a b # 把当天总时长存进列表 max_unhappy 0 # 记录当前最大不高兴程度只统计 8 的 index 0 # 记录对应日期0 表示没有不高兴的日子 # 遍历 7 天找出不高兴程度最大的那天 for i in range(7): # 条件1当天总时长超过 8 小时才叫不高兴 # 条件2当前程度比已记录的最大值还大用 保证并列时保留最早那天 if unhappy[i] 8 and unhappy[i] max_unhappy: max_unhappy unhappy[i] # 更新最大不高兴程度 index i 1 # 索引 0~6 转成日期 1~7 print(index) # 输出结果若没有不高兴的日子index 保持 0第二题数字统计21. 题目描述请统计某个给定范围 [L, R] 的所有整数中数字 2 出现的次数。比如给定范围 [2, 22]数字 2 在数 2 中出现了 1 次在数 12 中出现 1 次在数 20 中出现 1 次在数 21 中出现 1 次在数 22 中出现 2 次所以数字 2 在该范围内一共出现了 6 次。2.2 输入格式2 个正整数 L 和 R之间用一个空格隔开。2.3 输出格式数字 2 出现的次数。2.4 输入输出样例输入 #1输出 #12 226输入 #2输出 #22 100202.5 说明/提示1 ≤ L ≤R≤ 100000。2.6 可参考代码a, b input().split() # 输入区间端点 a、b以字符串形式读入 a int(a) # 转成整数区间起点 b int(b) # 转成整数区间终点 count 0 # 统计数字 2 出现的总次数 # 遍历区间 [a, b] 中的每一个整数 for i in range(a, b 1): j i # 用临时变量 j 保存当前数字避免破坏 i while j: # 当 j 还不为 0 时说明还有位没检查完 if j % 10 2: # 取出 j 的最低位判断是不是 2 count 1 # 如果是 2计数器加 1 j j // 10 # 去掉最低位继续检查下一位注意在 if 外面 print(count) # 输出区间内所有数字中 2 出现的总次数以上代码可供大家参考如果大家有更好的方法也可以分享出来哈。题目来源为P1085 [NOIP 2004 普及组] 不高兴的津津 - 洛谷、P1179 [NOIP 2010 普及组] 数字统计 - 洛谷