如何解决使用python在列表中顺序输入
我写了一个基于一些单词技巧的代码。我的代码中有一个预定义词。该代码要求用户输入。然后它在预定义词和用户输入之间进行比较。如果它们相同,它将产生一个输出。
我的代码:
letter_list=[]
words="admit"
i=0
while i< len(words):
user = input("Letter: ")
if user in words:
letter_list.append(user)
i=i+1
else:
i=i+1
if len(words)== len(letter_list):
print("Same word")
else:
print(letter_list)
输出(如果他们得到与单词相似的相同输入):
Letter: m
Letter: i
Letter: a
Letter: t
Letter: d
Same word
输出(当给定的字母与单词不相似时)
Letter: r
Letter: t
Letter: m
Letter: a
Letter: k
['t','m','a']
虽然代码给出了输出 same word
但很容易理解它们不是。我在编译时给出了与用户输入相同的字母,但它们没有顺序。但是我的代码说它们是相同的。在第二次输入的情况下,它只需要相似的单词字母。所以列表中的字母数是3。
我想知道它怎么能按顺序输入?
我的意思是,当我在 m
之后给出 i
或 a
时,它不会花费 m
或 i
并提示错误的字母,直到它得到 { {1}}。
解决方法
检查用户的字母是否是words
中的当前字符。如果不是,打印“错误的字母”并且不增加i
,这样它会一直等待用户输入正确的字母。
您不需要 letter_list
,因为在用户输入所有正确的字母之前您不会退出循环。
while i < len(words):
user = input("Letter: ")
if user == words[i]:
i=i+1
else:
print("Wrong letter")
print("Same word")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。