print("this program will calculate the area")
input("[Press any key to start]")
width = int(input("enter width"))
if width < 0:
print ("please chose a number between 0-1000")
width = int(input("enter width"))
if width > 1000000:
print ("please chose a number between 0-1000")
width = int(input("enter width"))
height = int(input("Enter Height"))
area = width*height
print("The area is:",area)
有没有办法可以压缩下面的代码,例如将它们组合在一起,这样我就不必编写相同的代码行,除了那些较少然后更大的语句两次。
width = int(input("enter width"))
if width < 0:
print ("please chose a number between 0-1000")
width = int(input("enter width"))
if width > 1000000:
print ("please chose a number between 0-1000")
width = int(input("enter width"))
我试过了
width = int(input("enter width"))
if width < 0 and > 10000:
print ("please chose a number between 0-1000")
width = int(input("enter width"))
但我没有爱。
我也不想输入
width = int(input("enter width"))
如果可以帮助的话,两次声明。
由于 本
答案 0 :(得分:7)
有几种方法可以做到这一点。最明确的是:
if width < 0 or width > 10000:
但我最喜欢的是:
if not 0 <= width <= 10000:
答案 1 :(得分:3)
你需要一个循环。否则,如果用户是持久的,则仍然可以输入无效值。 while语句将循环与条件组合在一起 - 它会一直循环直到条件被破坏。
width = -1
while width < 0 or width > 10000:
width = int(input("enter width as a positive integer < 10000"))
您在原始问题中使用if语句在语法上是不正确的:
if width < 0 and > 10000:
你想:
if not (0 < width < 1000):
ask_for_new_input()
或者,以更明确的方式:
if width < 0 or width > 1000:
ask_for_new_input()
答案 2 :(得分:0)
你想说
if width < 0 or width > 10000:
print ("please chose a number between 0-1000")
width = int(input("enter width"))
答案 3 :(得分:0)
在
if width < 0 and > 10000:
应该阅读
if width < 0 or width > 10000:
可替换地:
if not 0 <= width <= 10000:
答案 4 :(得分:0)
你错过了可变宽度
if width < 0 or width> 10000:
答案 5 :(得分:0)
如果:
print("this program will calculate the area")
res = raw_input("[Press any key to start]")
def get_value(name):
msg = "enter {0}".format(name)
pMsg = "please choose a number between 0-1000"
val = int(input(msg))
while val not in xrange(1, 1001):
print pMsg
val = int(input(msg))
return val
print("The area is: {0}".format(get_value('width') * get_value('height')))