微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检查userinput是否匹配随机整数的任何数字

如何解决检查userinput是否匹配随机整数的任何数字

random = random.randint(1000,9999)
guess = int(input("Enter your guess: "))
while guess != random:
    guess = int(input("That was incorrect! Enter your guess: "))

这是一个非常简单的猜谜游戏,但是我想提供一些东西,在每一次不成功的尝试之后,它都会说出四位数中有多少数字是正确的。

我没有尝试过,主要是因为我不确定该怎么做。

例如

random = 1234
Enter your guess: 1111
You guessed 1 number correct
Enter your guess: 1222
You guessed 2 numbers correct
...... and so on

解决方法

如果您的意思是职位

random = random.randint(1000,9999)
guess = int(input("Enter your guess: "))
while guess != random:
    right = 0
    index = 0
    for char in str(guess):
        if char == str(random)[index]:
            index += 1
            right += 1
    print(f'{right} were right')
    guess = int(input("That was incorrect! Enter your guess: "))
,

如果您确实希望将两个数字都保持为int,则可以使用%(取模运算符)来查找整数除以10的基数后的余数。

例如。

    correctnum = 0
    random = 1234
    guess = 1111
    if ((((random-(random % 1000 )) /1000) == (((guess-(guess % 1000 )) /1000)):
      correctnum++

对于100/10/1重复的公式应都比较该“点”中的数字,而不必转换数据类型。在此之后输出正确数字的值,您应该拥有所需的内容。

,
random = 1234
random = str(random)

#guess = str(input('enter your guess'))
guess = '1222'
correct = 0
for i in range(len(guess)):
    if guess[i] == random[i]:
        correct += 1

print(correct)
ouput: 2

或简单地:

correct = sum(guess[i] == random[i] for i in range(len(guess)))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。