为什么不使用print打印字符串?

时间:2019-11-02 08:04:02

标签: python

这是我正在学习的Python书中的示例程序。 message +=行表示什么?即使我们从未在那儿使用过印刷品,如何打印该陈述呢?

这可以按预期工作,并返回$number is too high$number is too low。但是,即使没有print语句,该怎么做?

假设我们已在开头(message += str(guess) + ....)处将message声明为空字符串,message = ""在这里做什么?

import random # We cover random numbers in the
rng = random.Random() 

number = rng.randrange(1, 1000) 

guesses = 0
message = ""

while True:
    guess = int(input(message + "\nGuess my number between 1 and 1000:")) 
    guesses += 1
    if guess > number:
        message += str(guess) + " is too high.\n" 
    elif guess < number:
        message += str(guess) + " is too low.\n" 
    else:
        break
input("\n\nGreat, you got it in "+str(guesses)+" guesses!\n\n")

我尝试在其他脚本之一中使用上述程序中的消息,但是它不像上述程序中那样打印语句。

1 个答案:

答案 0 :(得分:0)

input()的呼叫在其提示中包括message

添加字符串会在Python中将它们连接起来。 "ab" + "cd"产生"abcd"。同样,message += "stuff""stuff"添加到变量的先前值的末尾。如果以前是空字符串,则"" + "stuff"会简单地生成"stuff"

运算符+=是增量分配; a += b代表a = a + b。 (有些人也不喜欢该较长的表达式,因为除非在至少一个值等于零的情况下,否则它在数学上是不可信的;但是=在Python的其他地方也没有数学语义。)