В настоящее время я пишу программу, которая решит теорему пифагора. Однако у меня есть ошибка в программе. Всякий раз, когда я добавляю отрицательное число для длины a или b, он печатает «A не может быть меньше нуля», но идет вперед и решает для C в любом случае и печатает длину C, даже если пользователь еще не вводил b. Как я могу это сделать, когда пользователь вводит отрицательное число, он печатает заявление «A не может быть меньше нуля», а затем снова петлиет для ввода длины для стороны, а не как теперь, где после этого выдает заявление переадресовывается к концу?Остановить python от перехода к самому последнему утверждению
Вот мой код:
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 + "."
Посмотрите, как вы объединяете утверждения; вдавливание важно – crownedzero
Вот вам задуматься: вы можете поместить свой код ввода и проверки в функцию, называя его как для стороны a, так и для стороны b. –
Я хотел бы показать вам способ использования опрятных функций. Надеюсь, вы можете это сделать :) –