Python 使用用户输入在列表中查找元素
好吧,应该很简单的事情正在折磨我。我有一个星期一星期天的列表,我需要让用户给出一个数字1-7来显示相应的日期 我有这个,它的工作,但似乎应该有一个更好的方式来完成它Python 使用用户输入在列表中查找元素,python,list,python-3.x,input,Python,List,Python 3.x,Input,好吧,应该很简单的事情正在折磨我。我有一个星期一星期天的列表,我需要让用户给出一个数字1-7来显示相应的日期 我有这个,它的工作,但似乎应该有一个更好的方式来完成它 days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] print('Enter a day number [1-7]: ', end="") number=input() if number == '1' :
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])
那么:
number = int(input())
print(days[number - 1])
您可以使用字典来完成此操作:
days = {'1': 'Monday',
'2': 'Tuesday',
'3': 'Wednesday',
'4': 'Thursday',
'5': 'Friday',
'6': 'Saturday',
'7': 'Sunday'}
number = input()
return days[number]
与使用简单列表相比(由于您需要整数,因此也可以使用简单列表),这样做的优点是您以后可能希望接受非数字的输入,如
“one”
。您只需重命名字典的键。正如@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')
days=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”]
打印('输入日期编号[1-7]:',end=“”)
尝试:
number=int(输入(‘输入日期’)
如果编号为0:
打印(天数[数字1])
其他:
引发异常
除值错误外:
打印('必须是整数')
除例外情况外:
打印('数字必须小于7')
valuerror
如果输入的数字不是数字,则会捕获该错误,
如果输入的数字不在范围0number=int(input())
内,则raiseexception
将捕获,然后直接为列表编制索引;i、 e打印(天数[1])
。当然,您应该比在中使用try except来减少超出可接受范围的值。