Я попытался создать калькулятор области, он продолжает указывать неправильный синтаксис для правильного кода - PullRequest
1 голос
/ 11 июня 2019

Я запустил проект в Codeacademy, чтобы создать калькулятор площади. Однако код elif option == "T": продолжает выдавать синтаксическую ошибку. Я посмотрел на решение, но оно выглядит точно так же. Может кто-нибудь, пожалуйста, помогите? Заранее спасибо.

Я пытался изменить отступ и интервал и изменить его с двойных кавычек на одинарные. Я даже скопировал и вставил решение, но оно все равно не работает.

# it calculates area of circle and triangle
print"Calculator, Ready!"
option = raw_input("What shape. Enter C for Circle or T for triangle: ")
if option == "C":
  radius = float(raw_input(" What is the radius: "))
area = 3.14159 * radius ** 2
print area

elif option == 'T':
  base = float(raw_input("Base: "))
  height = float(raw_input("Height: "))
area = .5 * base * height
print area

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

Вам нужно сделать отступ для расчетов площади, так как они являются частью блоков if и elif. Вы получаете синтаксическую ошибку, потому что оператор elif должен следовать за блоком if.

Кроме того, поскольку вы делаете print area в обоих случаях, вам нужно написать это только один раз.

Исправлены важные биты:

if option == "C":
  radius = float(raw_input(" What is the radius: "))
  area = 3.14159 * radius ** 2
elif option == 'T':
  base = float(raw_input("Base: "))
  height = float(raw_input("Height: "))
  area = .5 * base * height
print area
0 голосов
/ 11 июня 2019

В Pythhon оператор elif может следовать только за оператором elif или if, но в вашем коде он следует за печатью.

Вы можете сделать отступ или удалить две следующие строки:

area = 3.14159 * radius ** 2
print area

Мое понимание вашего кода заставляет меня предложить вам следующее решение:

# ==========================================
# It calculates area of circle and triangle

# A good practice is to initialise all your variable at the begining
option = None
radius = None
area = None
base = None
height = None

print("Calculator, Ready!")
option = raw_input("What shape. Enter C for Circle or T for triangle: ")

if option == "C":
  radius = float(raw_input(" What is the radius: "))
  area = 3.14159 * radius ** 2
elif option == 'T':
  base = float(raw_input("Base: "))
  height = float(raw_input("Height: "))
  area = .5 * base * height

print ("The calculated area is: {}".format(area))
...