【问题标题】:wont add tally master mind game python不会添加tally mastermind game python
【发布时间】:2015-09-19 03:22:51
【问题描述】:
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 语句中添加计数,我知道我应该使用循环,但我认为这就是我想要做的
p>
【问题讨论】:
标签:
python
random
numbers
pygame
【解决方案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")
【解决方案2】:
当你这样做时 -
tally + 1
它会计算该表达式的结果,然后只是丢弃结果,因为您没有指示 Python 解释器对结果执行任何操作。如果您希望 tally 增加 1,则必须将结果分配回 tally 。示例 -
tally += 1
【解决方案3】:
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")