如何用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
相关产品推荐
相关产品推荐

