python - 使用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
提示错误的字母直到它得到d
。
解决方案
检查用户的字母是否是words
. 如果不是,打印“wrong letter”并且不递增i
,这样会一直等待用户输入正确的字母。
您不需要letter_list
,因为在用户输入所有正确字母之前您不会退出循环。
while i < len(words):
user = input("Letter: ")
if user == words[i]:
i=i+1
else:
print("Wrong letter")
print("Same word")
推荐阅读
- mongodb - “现在”和给定日期之间的区别
- python - 未知标签类型:连续 - 带有 RandomForestClassifier
- excel - 在计算分数之前检查每个部分只填写一个文本框
- python - 如何使用神经网络进行多目标优化?
- r - 根据前一列中的值创建新列
- ruby-on-rails - 嵌套路由文件 Rails
- r - 如何使用占位符在 r 中对数据框进行子集化
- javascript - Flowtype:如果类型没有匹配的字段,则不相交的联合区分不起作用
- python - 检索位于任何行或列的数据框中的某个值,并将其保存在单独的列中,无需 forloop
- sql - 我想创建一个动态数据透视表,我可以将其发布为 sql server 中的视图。请在下面查看更多详细信息