Python访问列表表单用户输入
我这里有一些代码:Python访问列表表单用户输入,python,Python,我这里有一些代码: cars = ['Blue car', 1],['Red car', 2],['Green car', 3]] user_input = input('Enter car number. ') 当用户输入该车号时,(假设他输入了2),我希望程序打印: 'you have chosen a red car' 我尝试过使用print('您选择了一个'+cars[1][2]),但它不起作用。有人能帮我吗?给你 print("You have chosen"
cars = ['Blue car', 1],['Red car', 2],['Green car', 3]]
user_input = input('Enter car number. ')
当用户输入该车号时,(假设他输入了2),我希望程序打印:
'you have chosen a red car'
我尝试过使用print('您选择了一个'+cars[1][2])
,但它不起作用。有人能帮我吗?给你
print("You have chosen",cars[user_input-1][0])
你犯的错误1> 列表索引从0开始
2> 您应该使用用户输入 但更好的解决办法是这样一本字典
dic = {1:"Blue Car,2:"Red Car"}
user_input = input("Enter number")
print("You have chosen a",dic[user_input]")
由于您使用的是唯一的号码来识别汽车,因此最好使用
字典
,而不是像列表一样使用
car = {1:"blue car", 2:"red car", 3:"green car"}
当您以user\u input=int(输入(“输入车号”))的形式从用户处获取输入时
然后,在O(1)时间复杂度中搜索汽车变得非常有效,您可以使用print作为
if user_input in car:
print("You have chosen a {}".format(car[user_input]))
else:
print("invalid car number")
对于当前代码,首先需要将用户输入从字符串类型转换为int类型,因为车号存储在int类型中,然后使用循环查找元素并显示结果
cars = ['Blue car', 1],['Red car', 2],['Green car', 3]]
user_input = int(input('Enter car number. '))
check = False
for index, value in enumerate(cars):
car, number = value
if number == user_input:
print(" you have chosen a {}".format(car))
check = True
if not check:
print("invalid car number")
您不应该访问像car[user\u input]
这样的字典,因为如果密钥不存在,它会给您一个keyrerror
您应该始终使用get(key\u name)
方法来访问字典值。看看下面的图片
car = {1:"blue car", 2:"red car", 3:"green car"}
user_input = input('Enter car number. ')
print(" you have chosen a {}".format(car.get(user_input )))
如果键不存在,它不会给您一个错误,它将返回None
value,但它不工作这意味着什么?请提供一个,然后看,。它又没有嵌套列表,这意味着什么?别介意我修复了它。很抱歉