为了账号安全,请及时绑定邮箱和手机立即绑定

检查用户输入是否与(随机)整数的任何数字匹配

检查用户输入是否与(随机)整数的任何数字匹配

慕村225694 2023-12-09 15:40:35
random = random.randint(1000, 9999)guess = int(input("Enter your guess: "))while guess != random:    guess = int(input("That was incorrect! Enter your guess: "))这是一个非常简单的猜谜游戏,但是我想添加一些内容,在每次不成功的尝试之后,它会显示四位数中有多少个数字是正确的。我还没有尝试过这一点,主要是因为我不确定如何做到这一点。例如random = 1234Enter your guess: 1111You guessed 1 number correctEnter your guess: 1222You guessed 2 numbers correct...... and so on
查看完整描述

3 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

如果你的意思是职位


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: "))


查看完整回答
反对 回复 2023-12-09
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

如果您确实想将这两个数字保留为 int,则可以使用 %(模运算符)来查找整数除以其以 10 为基数的值后的余数。


例如。


    correctnum = 0

    random = 1234

    guess = 1111

    if ((((random-(random % 1000 )) /1000) == (((guess-(guess % 1000 )) /1000)):

      correctnum++

对 100/10/1 重复的公式应该全部比较该“位置”中的数字,而无需转换数据类型。接下来输出 Correctnum 的值,您应该得到您需要的内容。


查看完整回答
反对 回复 2023-12-09
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

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)))


查看完整回答
反对 回复 2023-12-09
  • 3 回答
  • 0 关注
  • 66 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信