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

,但它不工作这意味着什么?请提供一个,然后看,。它又没有嵌套列表,这意味着什么?别介意我修复了它。很抱歉