不会添加理货大师心灵游戏 python

wont add tally master mind game python

import random
thenum = random.randint(1000, 9999)
print (thenum)
tally = 1
guessone = int(input("What is your first guess?: "))
strguessone = str(guessone)
strthenum = str(thenum)
if strguessone [0] == strthenum [0]:
    tally + 1
if  strguessone [1] ==  strthenum [1]:
    tally + 1
if strguessone [2] == strthenum [2]:
    tally + 1
if  strguessone [3] ==  strthenum [3]:
    tally + 1

print (tally)
if tally == 5:
    print ("You Win")

当我 运行 这段代码时,我只从打印计数中得到一个响应 为什么我在 if 语句中添加计数 我知道我应该使用循环,但我认为这就是我想做

当你这样做时 -

tally + 1

它计算该表达式的结果,但随后将结果丢弃,因为您没有指示 Python 解释器对结果做任何事情。如果您希望 tally 增加一,则必须将结果分配回 tally 。例子-

tally += 1

您应该使用 += 运算符而不是 + 运算符。

import random
thenum = random.randint(1000, 9999)
print (thenum)
tally = 1
guessone = int(input("What is your first guess?: "))
strguessone = str(guessone)
strthenum = str(thenum)
if strguessone [0] == strthenum [0]:
    tally += 1
if  strguessone [1] ==  strthenum [1]:
    tally += 1
if strguessone [2] == strthenum [2]:
    tally += 1
if  strguessone [3] ==  strthenum [3]:
    tally += 1

print (tally)
if tally == 5:
    print ("You Win")

tally + 1 语句所做的只是计算计数加一的值。它不保存新值。您需要改为 tally = tally + 1 。但是,在这种情况下,您可以直接比较数字,而不是将两个值都转换为字符串并比较这些字符串(您无论如何都可以这样做,而无需手动逐个比较每个字符):

import random
thenum = random.randint(1000, 9999)
print (thenum)
guessone = int(input("What is your first guess?: "))
if thenum == guessone:
    print ("You Win")