洛谷P1085 [NOIP2004 普及组] 不高兴的津津 Python3题解

文章讲述了如何通过两种不同的编程思路解决多行输入数据的处理问题,包括将数据分组求和、找出大于8的组合以及使用map和zip函数简化代码。
摘要由CSDN通过智能技术生成

声明

题目不赘述 自行查阅 文章主要帮助笔者整理思路

Q&A

问题与解决

1.解决多行输入 明确数量=7

→  7次循环

→ 7行input()

2.求出每一天的时间和 并且 与8比较

思路一

所有数据不求和 先放在一个列表

用索引相加同一天的数据再放进新的列表

思路二

Input的同时 顺便求和 放进列表

3.若>8  要输出靠前的最大值

→ list.max()方法满足

AC

思路一Code

chushi_data = []
sum_data    = []

for i in range(1,7):
    a,b = map(int,input().split())
    chushi_data.append(a)
    chushi_data.append(b)
#print(chushi_data) [5, 3, 6, 2, 7, 2, 5, 3, 5, 4, 0, 4]
#得到一天的时间

qwq = zip(range(0,len(chushi_data),2),range(1,len(chushi_data),2))
#[(0, 1), (2, 3), (4, 5), (6, 7), (8, 9), (10, 11), (12, 13)]

#x取 0 2 4 6 7 8 9 10 12  y取...
for x,y in qwq:
    sum_data.append(chushi_data[x]+chushi_data[y])
m = max(sum_data)
if m > 8 :
    print(sum_data.index(m)+1)
else:
    print(0)
#如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天  max() 输出的index满足

思路二Code

a = []
b = []

for i in range(7):#通过循环获得固定的输入数据
    x,y = map(int,input().split())
    a.append(x+y)
#a [8, 8, 9, 8, 9, 4, 6]
z = max(a)

if z > 8:
    print(a.index(z)+1)
else:
    print(0)

思路二的代码简便不少

留意map循环的结合

留意zip()如何获取数字


“爱并不妨碍我们越来越好”

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值