0

我需要用 Python 编写一个 prog 来完成以下任务:

提示并接受一个数字的输入,无论是正数还是负数。仅当数字为正时,才使用单个替代“决策”结构打印消息。

这非常简单,但我是 Python 新手,所以即使是最简单的事情我也遇到了麻烦。该程序要求用户输入一个数字。如果数字是正数,它将显示一条消息。如果数字为负数,它将不显示任何内容。

num = raw_input ("Please enter a number.")

if num >= 0 print "The number you entered is " + num
else:
    return num
  1. 我正在使用 Wing IDE
  2. 我收到错误“如果 num >= 0 打印”您输入的数字是“+ num”
  3. 如果输入的数字为负数,如何返回开始?
  4. 我究竟做错了什么?
4

2 回答 2

1

尝试这个:

def getNumFromUser():
    num = input("Please enter a number: ")
    if num >= 0: 
        print "The number you entered is " + str(num)
    else:
        getNumFromUser()

getNumFromUser()

您收到错误的原因是您在 if 语句的条件后省略了一个冒号。如果数字为负,为了能够返回到流程的开始,我将代码放在一个函数中,如果if条件不满足,该函数会调用自身。您也可以轻松地使用while循环。

while True:
    num = input("Please enter a number: ")
    if num >= 0: 
        print "The number you entered is " + str(num)
        break
于 2012-09-02T14:09:59.780 回答
0

尝试这个:


inputnum = raw_input ("Please enter a number.")
num = int(inputnum)

if num >= 0:
    print("The number you entered is " + str(num))

您不需要该else部分,因为代码不在方法/函数中。

我同意另一条评论 - 作为初学者,您可能希望将您的 IDE 更改为对您有更多帮助的 IDE(尤其是这样易于修复与语法相关的错误)

(我很确定,该打印应该在一个新的行上并且是有意的,但是......我错了。)

于 2012-09-02T14:08:47.690 回答