【问题标题】:Check if user input is equal to an item's index in list检查用户输入是否等于列表中项目的索引
【发布时间】:2021-04-03 11:47:58
【问题描述】:

我只是想知道是否可以查看用户输入是否等于列表中项目的索引?

我正在尝试做这样的事情:

data = ['hello', 'hi', 'hey']

user_choice = int(input("Enter 1,2 or 3: ")
user_answer = user_choice - 1
if user_answer in ....: # How would I finish this off line off?
    result = data[user_answer]
    print(result)

【问题讨论】:

标签: python


【解决方案1】:
data = ['hello','hi','hey']

user_choice = int(input("Enter 1,2 or 3: ")
user_answer = user_choice - 1
if user_answer in range(1,len(data)+1): #just give length of data
    result = data[user_answer]
    print(result)

【讨论】:

  • 这个答案是错误的,如果我们输入1就会失败,而且效率也很低。而是按照 mkrieger 在 cmets 中的建议使用 if 0 <= user_answer < len(data)
  • @RoyCohen 我确实注意到了这一点,因此我对其进行了更改,但忘记在此处提及。感谢其他检查此问题的人注意到这一点
【解决方案2】:

我认为您只需将[1,2,3]range(1,4) 放在空白处即可。

data = ['hello','hi','hey']

user_choice = int(input("Enter 1,2 or 3: "))
user_answer = user_choice - 1
length = len(data)+1
if user_answer in range(1,length): #How would i finish this off line off?
    result = data[user_answer]
    print(result)

结果:

Enter 1,2 or 3: 2
hi

【讨论】:

    猜你喜欢
    • 2014-02-27
    • 2022-10-15
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多