Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用用户输入在列表中查找元素_Python_List_Python 3.x_Input - Fatal编程技术网

Python 使用用户输入在列表中查找元素

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' :

好吧,应该很简单的事情正在折磨我。我有一个星期一星期天的列表,我需要让用户给出一个数字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])
那么:

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
如果输入的数字不是数字,则会捕获该错误, 如果输入的数字不在范围
0
number=int(input())
内,则
raiseexception
将捕获,然后直接为列表编制索引;i、 e
打印(天数[1])
。当然,您应该比在
中使用try except来减少超出可接受范围的值。