如何定义这个循环?

2024-04-26 23:49:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个程序,当用户输入1到7之间的整数时,它会打印出一周中相应的一天。这就是我目前所拥有的。我搞不懂的是,当x有一个特定值时,程序在另一个特定值上打印字符串,即当用户写入1时,程序应该打印str(0),即'MONDAY'。你知道吗

x = (int(input('please type a number from 1 to 7, both inclusive: ')))

days_of_the_week = ['MONDAY',
                    'TUESDAY',
                    'WEDNESDAY',
                    'THURSDAY',
                    'FRIDAY',
                    'SATURDAY',
                    'SUNDAY']

for x in range(8):
    for d in range(0,7):
        print(days_of_the_week(d))

回答!我用了一本字典,它比使用列表和所有的循环更好用。谢谢!你知道吗


Tags: ofthe字符串用户in程序forinput
3条回答

直接回答这个问题

print(days_of_the_week[x-1])

会做你想做的事。但我会把名字储存在字典里:

days_of_the_week = {1: 'MONDAY',
                    2: 'TUESDAY',
                    3: 'WEDNESDAY',
                    4: 'THURSDAY',
                    5: 'FRIDAY',
                    6: 'SATURDAY',
                    7: 'SUNDAY',
                    }
x = int(input('Please type a number from 1 to 7, both inclusive: '))
print(days_of_the_week[x])

去掉那些嵌套的循环;你根本不需要它们。list用方括号而不是圆括号访问。list是0索引的(它们的第一个元素是元素编号0),因此您可以用以下内容替换这些循环:

print(days_of_the_week[x-1])

这里要做的是选择与用户输入的数字对应的日期。但是,数组从0开始,因此需要从输入中减去1以匹配相应的日期。如果没有执行(x-1),那么键入1将输出:TUESDAY,因为TUESDAY是数组中从0开始的元素1。(在本例中,MONDAY是元素0。)我不想详细说明为什么这些值从零开始,但是有一个good reason。我不知道你在用for循环做什么。你知道吗

x = (int(input('please type a number from 1 to 7, both inclusive: ')))

days_of_the_week = ['MONDAY', 'TUESDAY','WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY']
print(days_of_the_week[x-1])

相关问题 更多 >