Это мой исходный код:
def farmer_johns():
r = int(input('Enter the radius of the circle in feet:'))
#check for valid input
try:
while input >= 0 :
# area of brown
#area of square - area of circle
import math
pi = math.pi
area_square = (r+r)**2
area_circle = pi* r**2
area_brown = area_square - area_circle
print('The area of the brown shaded region is {:.2f} feet^2.'.format(area_brown))
#turtle graphics set up
import turtle
wn = turtle.Screen()
a = turtle.Turtle()
a.pensize(5)
#draw circles
a.pencolor('green')
a.penup()
a.goto(r,r)
a.pendown()
a.circle(r)
a.penup()
a.goto(r,-r)
a.pendown()
a.circle(r)
a.penup()
a.goto(-r,-r)
a.pendown()
a.circle(r)
a.penup()
a.goto(-r,r)
a.pendown()
a.circle(r)
#square
a.pencolor('blue')
a.penup()
a.goto(r,r+r)
a.pendown()
a.goto(-r,r+r)
a.goto(-r,-r+r)
a.goto(r,-r+r)
a.goto(r,r+r)
#middle region
a.pencolor('#654321')
a.fillcolor('#b5651d')
a.begin_fill()
a.penup()
a.goto(r,r)
a.pendown()
a.circle(r,-90)
a.penup()
a.goto(0,r+r)
a.right(180)
a.pendown()
a.circle(r,-90)
a.penup()
a.goto(-r,r)
a.left(-180)
a.pendown()
a.circle(r,-90)
a.penup()
a.goto(0,0)
a.left(180)
a.pendown()
a.circle(r,-90)
a.end_fill()
#writing
# a.write('The area of the brown shaded region is {:.2f} feet^2.'.format(area_brown))
except ValueError:
print('invaild input')
except TypeError:
print('invaild input')
Проблема в том, что когда я вводю буквы в качестве ввода, я получаю это:
farmer_johns () Введите радиус круга в футах: Ee Traceback (последний вызов был последним): файл "", строка 1, в файле "C: \ Users \ SueAnn \ Desktop \ Comp Sci \ Projects \ project_3 \ farmer john again.py", строка 19, в farmer_johns r = int (input ('Введите радиус круга в футах:')) ValueError: недопустимый литерал для int () с основанием 10: 'Ee'
Строка кода «Except: TypeError» работает, но «Except: ValueError