You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将用户输入与数组中指定元素进行比较?

解决Python输入与数组元素比较及循环问题

嘿,我来帮你一步步搞定这个问题!作为Python新手,遇到语法和循环的问题太正常了,咱们慢慢来拆解:

先修正基础语法错误

你原来的代码有几个Python语法上的小问题,先给你调整过来:

  • Python里语句结尾不需要加分号(虽然加了也不会报错,但不符合常规写法)
  • raw_input()是Python 2的用法,现在主流的Python 3要用input()来获取用户输入
  • 条件判断的语法是if 条件:,不是if 条件 then,而且if/else后面的代码块必须缩进4个空格(这是Python的核心规则之一,缩进不对代码直接报错)

修正后的基础版本代码是这样的:

movies = ["movie 1", "movie2", "movie3"]
answer = input("What is your guess: ")
if answer == movies[1]:
    print("yes that is correct")
else:
    print("no that is incorrect")

加入while循环实现反复猜测

如果你想让用户可以一直猜,直到答对为止,或者允许用户主动退出,这里提供两种实用的实现方式:

方式1:直到猜对才停止

这个循环会一直运行,直到用户输入正确答案才结束:

movies = ["movie 1", "movie2", "movie3"]
correct_movie = movies[1]  # 把目标元素单独存起来,代码更清晰易读

while True:
    answer = input("What is your guess? (答对就退出) ")
    if answer == correct_movie:
        print("yes that is correct!")
        break  # 答对了就跳出循环
    else:
        print("no that is incorrect, try again!")

方式2:允许用户主动退出

如果想让用户可以输入特定指令(比如"quit")随时退出循环,可以这么写:

movies = ["movie 1", "movie2", "movie3"]
correct_movie = movies[1]

while True:
    answer = input("What is your guess? (输入quit可退出) ")
    if answer.lower() == "quit":  # 转成小写,不管用户输入Quit/QUIT都能识别
        print("退出游戏啦!")
        break
    elif answer == correct_movie:
        print("yes that is correct!")
        break
    else:
        print("no that is incorrect, try again!")

新手小提示

  • 如果你担心用户输入的大小写问题(比如用户输了"Movie2"而不是"movie2"),可以把两边都转成小写再比较:if answer.lower() == correct_movie.lower()
  • Python里的数组叫做列表,索引是从0开始的,movies[1]就是列表里的第二个元素,这点你已经找对啦!

内容的提问来源于stack exchange,提问作者mhenington

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:34:48