繁体   English   中英

如何检查一个字符串的字符是否存在并且与另一个字符串的位置相同?

[英]How to check if one string's characters exist and are in the same position as those in another string?

我有一个包含此字符串的字符的列表:

wordtoguess = ['T','R','A','N','S','M','I','S','S','I','O','N' ]

我让用户猜一个单词,并将其存储在变量“ guessed”中。 我也有一个名为'correct_chars'的变量,它等于0。

猜想= input()

correct_chars = 0

当用户猜出一个单词时,我希望Python遍历该单词的每个字符,如果该单词存在且与词条对话中的相应字符位于同一位置,则将1添加到correct_chars中。 例如,如果用户输入了字符串“ translations”,则correct_chars等于5。到目前为止,我还无法弄清楚该怎么做。

这是一个潜在的实现:

>>> wordtoguess = "TRANSMISSION"
>>> guessed = "TRANSLATIONS"
>>> correct_chars = sum(1 for (x, y) in zip(wordtoguess, guessed) if x.lower() == y.lower())
>>> correct_chars
5
guessed = input()

correct_chars = 0
wordtoguess = ['T', 'R', 'A', 'N', 'S', 'M', 'I', 'S', 'S', 'I', 'O', 'N']

for i, c in enumerate(guessed):
    try:
        if c.upper() == wordtoguess[i]:
            correct_chars += 1
    except IndexError:
        pass

print(correct_chars)

这是一个可能的解决方案

guessed = input()

correct_chars = 0
wordtoguess = ['T', 'R', 'A', 'N', 'S', 'M', 'I', 'S', 'S', 'I', 'O', 'N']

for i in range( len(wordtoguess) ):
    if i >= len(guessed):
        break
    if wordtoguess[i] == guessed[i]:
        correct_chars = 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM