使用python在列表中按顺序输入

使用python在列表中按顺序输入,python,if-statement,while-loop,Python,If Statement,While Loop,我写了一个基于一些单词技巧的代码。我的代码中有一个预定义的单词。代码要求用户输入。然后比较预定义词和用户输入。如果它们相同,则会产生输出 我的代码: 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:

我写了一个基于一些单词技巧的代码。我的代码中有一个预定义的单词。代码要求用户输入。然后比较预定义词和用户输入。如果它们相同,则会产生输出

我的代码:

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)
输出(当给定的字母与单词不相似时)

虽然代码给出了相同单词的输出
,但很容易理解它们不是。我在编译时给出了与用户输入相同的字母,但它们不符合顺序。但我的代码说它们是一样的。在第二次输入的情况下,它只需要相似的单词字母。所以列表中的字母数是3

我想知道它怎么能按顺序输入


我的意思是,当我在
a
之后给出
m
I
时,它不会使用
m
I
并提示错误的字母,直到它得到
d

检查用户的字母是否是
单词中的当前字符。如果没有,请打印“错误的字母”,并且不要增加
i
,这样它将一直等待用户输入正确的字母

您不需要
字母列表
,因为在用户输入所有正确的字母之前,您不会退出循环

while i < len(words):
    user = input("Letter: ")
    if user == words[i]:
        i=i+1
    else:
        print("Wrong letter")
print("Same word")
而我
您只是在检查长度。将字母放入字符串中,检查字符串是否相等。如果user=words[i]:
是,则可以检查
。但我想按顺序进行输入。是的,我可以写user=words[I],但I是一个计数器变量,所以它会增加。比如,首先我给输入a,然后我从0增加到1,不会得到d。然后我又增加到2。现在是d。但我认为它应该是m,所以它不会包含d。那么我该如何处理这种情况呢?看我的答案。当他们出错时,计数器变量不会增加。
Letter: r
Letter: t
Letter: m
Letter: a
Letter: k
['t', 'm', 'a']
while i < len(words):
    user = input("Letter: ")
    if user == words[i]:
        i=i+1
    else:
        print("Wrong letter")
print("Same word")