如何编写一个程序,要求用户输入0到1000之间的数字,包括在内......继续

时间:2015-04-22 01:05:37

标签: python format turtle-graphics

问题:编写一个程序,要求用户输入0到1000之间的数字(包括端点0和1000)。如果他们输入的数字超出范围,则打印一条消息,表示该数字超出范围,并再次提示他们输入0到1000之间的数字(包括0和1000)。当用户输入范围内的数字时,将数字打印到屏幕并结束程序。

我已编写该程序,但我确定我正确使用while语句。请检查我的程序并提供反馈。 我的问题:如果我输入两次负数,则不是第三次要求输入数字。请帮助!!

这是我的计划:

from turtle import*
def ask():
    m = eval(input("Enter a number between 0 and 1000, inclusive: "))
    return m

def inclusive(i):
    i = -1
    while i < 0 or i > 1000:
        print("Out of range, my boy. Try again!")
        i = ask()

    return i


def main():
    n = ask()
    m = inclusive(m)  
    win = Screen()
    win.bgcolor("black")
    ahamed = Turtle()
    ahamed.pencolor("blue")
    ahamed.write(m,font=["Arial",90])
    ahamed.hideturtle()

    exitonclick()

main()

我的问题:如果我输入两次负数,则不是第三次要求输入数字。请帮忙!!

1 个答案:

答案 0 :(得分:0)

您应该将while条件更改为:

def ask():
    return int(input("Enter a number between 0 and 1000, inclusive: "))

def inclusive():
    i = -1
    while i < 0 or i > 1000:
        print("Out of range, my boy. Try again!")
        i = ask()
    return i

def main():
    m = inclusive()
    print(m)