问题:编写一个程序,要求用户输入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()
我的问题:如果我输入两次负数,则不是第三次要求输入数字。请帮忙!!
答案 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)