进阶级Python编程题(5)洛谷(不高兴的津津)和index函数的用法

题目描述

津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。

输入格式

输入包括 7 行数据,分别表示周一到周日的日程安排。每行包括两个小于 10 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。

输出格式

一个数字。如果不会不高兴则输出 0,如果会则输出最不高兴的是周几(用 1,2,3,4,5,6,7 分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。

首先,我们要先了解一个函数index。

它的用途如果我们需要在序列类型数据(字符串、元组、列表)中查找某个元素并输出对应的索引值,就需要使用到index()方法了。

 index()方法,描述index() 函数用于从序列s中找出某个值第一个出现时的索引位置。

用法s.index(x[,i[,j]])注释:s——序列类型数据(字符串、元组、列表)x—— 查找的对象。返回值:该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。

'''
index的具体用法
'''
 
#定义一个列表
list = [1, 8, 16, "影迷", 31, 24, "影迷", 104]
 
# 查找list中第一次出现字符串"影迷"的索引,返回值为 3
print(list.index("影迷"))
 
# 如果想要精确知道第一次出现字符串"影迷"的索引,则加上区间范围,此时返回值为 6
print(list.index("影迷", 4, 7))

而我们这道题的代码如下:

m = []
for i in range(7):
    s = sum(map(int, input().split()))
    n = s - 8 if s > 8 else 0
    m.append(n)
if sum(m) == 0:
    print(0)
else:
    print(m.index(max(m))+1)

首先计算s的值判断是否大于8,如果大于则往列表m装入n的值否则装入0,然后引用index函数找出列表m里最大的索引值然后再加一就是周几,这样就把我们的问题给解决了。这里有一个很好的思想就是将全部的值都在m列表里有一个值与他形成对照,这样找最不开心的时候只需找m列表里最大的值并第一次出现的索引加上1就是对应的周几或者我们在range(1,8)这样最后结果就不需要再加一了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值