不会添加计数大师思想游戏Python

2024-06-28 19:14:31 发布

您现在位置: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")

当我运行这个代码时,我只从print taly得到一个响应,为什么我在if语句中添加了taly,我知道我应该使用循环,但我想这就是我想要做的


Tags: importinputifrandomwhatintprintrandint
3条回答

应该使用+=运算符而不是+运算符。你知道吗

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

它会计算该表达式的结果,但会丢弃结果,因为您没有指示Python解释器对结果执行任何操作。如果希望tally增加1,则必须将结果赋回tally。示例-

tally += 1

tally + 1语句所做的就是计算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")

相关问题 更多 >