while-if-elif上的“无效语法”吗?

时间:2018-10-30 12:44:55

标签: python-3.x

我最近进入python3.x,想要一个脚本,其中生成一个随机数并将其存储在变量中,用户必须输入一个数字,然后脚本检查该数字是大于还是小于(或相同),然后相应地回答。 到目前为止,我知道了

import random
n = random.randint(1, 101)
a = input("Please enter your number: ")
while not(int(a) == n):
    if(int(a) > n)
        print("Your number is smaller."):
    elif(int(a) < n)
        print("Your number is greater."):

但是在这段代码中,我得到“第5行的无效语法”,即第一个if。我该如何摆脱呢?另外,如何循环整个while块,直到数字正确为止?

2 个答案:

答案 0 :(得分:1)

您在第5行缺少一个冒号,而在第6行和第8行上有一个冒号。 您应该在某处python教程上阅读了有关python语法如何工作的信息,但通常用冒号表示一个新的缩进块,因此,每当编写缩进代码时,都应以冒号开头

答案 1 :(得分:0)

尝试一下:实际上,您最后在if和elif中留了冒号。

import random
n = random.randint(1, 101)
a = input("Please enter your number: ")
while not(int(a) == n):
    if(int(a) > n):
        print("Your number is smaller.")
    elif(int(a) < n):
        print("Your number is greater.")