好的事情应该很容易就是杀了我。我在周一至周日的列表中列出了一天的日期,我需要让用户给出一个数字1-7以显示相应的日期
我有这个并且它有效,但似乎应该有更好的方法来完成它
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
print('Enter a day number [1-7]: ', end="")
number=input()
if number == '1' :
print(days[0])
elif number == '2' :
print(days[1])
elif number == '3' :
print(days[2])
elif number == '4' :
print(days[3])
elif number == '5' :
print(days[4])
elif number == '6' :
print(days[5])
elif number == '7' :
print(days[6])
答案 0 :(得分:1)
你可以用字典做到这一点:
days = {'1': 'Monday',
'2': 'Tuesday',
'3': 'Wednesday',
'4': 'Thursday',
'5': 'Friday',
'6': 'Saturday',
'7': 'Sunday'}
number = input()
return days[number]
这个的优点是,使用一个简单的列表(因为你预期整数也很好),你可能以后想要接受非数字的输入,比如"one"
。你只需要重命名字典的密钥。
答案 1 :(得分:0)
怎么样:
number = int(input())
print(days[number - 1])
答案 2 :(得分:0)
根据@Jim Fasarakis-Hilliard的建议您需要使用try
和except
方法来捕获不需要的输入。
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
print('Enter a day number [1-7]: ', end="")
try:
number=int(input('enter day'))
if number <= 7 and number > 0:
print(days[number-1])
else:
raise Exception
except ValueError:
print('must be an integer')
except Exception :
print('number must be below 7')
如果输入的数字不是数字, ValurError
将会捕获,
如果输入的数字不在raise Exception
0<n<7
将会捕获