我目前正在编写一个解决勾股定理的程序。但是,我在程序中有一个错误。每当我为长度 a 或 b 输入负数时,它会打印出“A 不能小于零”,但会继续求解 C 并打印出 C 的长度,即使用户尚未输入 b。我怎样才能做到这一点,当用户输入一个负数时,它会打印出语句“A不能小于零”,然后再次循环输入边的长度,而不是现在打印出来后的位置声明它重定向到最后?
这是我的代码:
import math
print"This program will solve the pythagorean theorem for you"
unit=raw_input('Enter the unit you will be using')
a=float(raw_input('Enter the length of side a'))
if a<=0:
print"A cannot be less than zero"
else:
b=float(raw_input('Enter the length of side b'))
if b<=0:
print"B cannot be less than zero"
else:
c2=(a**2)+(b**2)
c=math.sqrt(c2)
c=str(c)
print "The length of side C is: "+ c + " " + unit + "."