Python - 查找列表中

时间:2017-06-16 02:36:49

标签: python list

我目前正在编写一个程序,告诉用户他/她的视频游戏使用情况。要求用户输入一周中每天的游戏小时数。程序然后告诉他们

  • 一周内花费了多少小时,
  • 每天花在游戏上的平均时间,
  • 一天中游戏时间最长。

以下是我的代码现在的样子;

while True:
name = input("Hello! Please enter your name: ")
if name.isalpha():
    break
else:
    print("Please enter a valid name.")

print("Hello {}! Lets get started!".format(name))

week_hours = []

for i in range(7):
while True:
    try:
        hours = int(input("How many hours did you spend gaming on day 
{}".format(i+1)))
        week_hours.extend([hours])
        break

    except ValueError:
        print("please enter a valid integer.")

total = sum(week_hours)
print("you spent a total of {} Hours gaming in the past 7 days!".format(total))

average = total/7
print("On average, you spent {} hours gaming per day.".format(average))

(while循环用于数据验证,并确保他们不能输入字母/数字。)

我目前正在撰写一份打印声明,告诉用户一天游戏时间最长。这就是我所在的地方;

print("You played video games the most on day {}, spending {} hours!".format())

当被问及用户花了多少小时游戏时,用户的输入存储在列表中。一旦用户在列表中输入了7个值(一周中的每一天一个),它就会跳出循环并继续执行程序的其余部分。

现在,关于这个问题。

我如何能够返回存储在该列表中的最高int的索引值,然后使用" .format"将其放入print语句中?

1 个答案:

答案 0 :(得分:1)

对不起。首先,我误解了这个问题。如果需要获取列表中最大数字的索引。你可以试试这个:

# hours is your list of values.
hours = [...]
highest_value = max(hours) 
index = hours.index(highest_value)

请注意,如果列表中包含重复的最大值,它将无法正常工作。

如果您只需要最大值,那么max就是您所需要的。