如何将这些数字转换为python列表中的名称?

2024-05-15 11:05:11 发布

您现在位置:Python中文网/ 问答频道 /正文

sushi = ["Kappa Maki", "Tekka Maki", "Salmon Maki","Negi Toro Maki","California Roll","Philadelphia Roll"]

num = input("ORDER SUSHI IN SUNNY SUSHI! Please enter the number of your dish:")

if num in sushi:
      answer= "{} Thank you for ordering Negi Toro Maki! Enjoy your food! {}"
      print(answer.format(num, sushi[num]))
else:
      print("Wrong number!")

enter image description here


Tags: answernumberyournumprintrollkappasalmon
2条回答

您可以在这里使用try/except

try:
    num = int(input("ORDER SUSHI IN SUNNY SUSHI! Please enter the number of your dish:"))
    answer= "{} Thank you for ordering Negi Toro Maki! Enjoy your food! {}"
    print(answer.format(num, sushi[num - 1]))
except IndexError:
    print("Wrong number!")
except ValueError:
    print("Not a number!")

注意[num - 1]是因为Python列表是基于0的,所以[0]是第一个元素,尽管用户会根据您的表输入1

您需要检查输入的数字是否在可用选项的数量范围内。您正在检查输入的数字本身是否为选项

基本上,您的程序就是这样做的:

if 4 in ["Kappa Maki", "Tekka Maki",...]

你需要:

if 4 in [1, 2, 3,...]

您需要进行以下更改:

if num in range(1, len(sushi) + 1):
    answer= "{} Thank you for ordering {}! Enjoy your food!"
    print(answer.format(num, sushi[num - 1]))

请注意print语句中的更改

相关问题 更多 >