Форум сайта python.su
0
Добрый день! Я - новичок в питоне. Знаний у меня есть немного, но практики - ноль. Вот я и решил что-нибудь наверстать. Пришла в голову одна идея, вот тут про нее весьма подробно описано. Если вкратце - по известным элементам треугольника(стороны, углы) найти неизвестные и рассмотреть все случаи. Суть такова: сначала input-ом получаем все углы и стороны. Если известны - пользователь так и пишет число, а нет - звездочку. Например:
Angle A: 451. Программа принимает только числа или звездочку
Angle B: twenty-one
Write a number or *! *
Angle C: 452223.7
Incorrect input.
Angle A:
import math #Get information about triangle AnglesDetector = False SidesDetector = False FloatDetector = False Angles = {'Angle A' : 0, 'Angle B' : 0, 'Angle C' : 0} Sides = {'Side A' : 0, 'Side B': 0, 'Side C': 0} anglesSum = 0 while AnglesDetector == False: for element in Angles: item = input(element + ' :') while FloatDetector == False: if item == "*": Angles[element] = item FloatDetector == True else: try: float(item) except ValueError: item = input("Write a number or *! ") else: Angles[element] = float(item) anglesSum += Angles[element] FloatDetector = True print(Angles) FloatDetector = False if anglesSum > 180: print('Incorrect input') print(Angles) else: AnglesDetector = True print(Angles)
Офлайн
1
if item == "*": Angles[element] = item FloatDetector == True
Офлайн
0
Окей, спасибо! Все заработало.
Оформление кода это, я так понимаю, сделать его проще, да?
Отредактировано vladZagrevskij (Май 28, 2014 18:33:38)
Офлайн