사용자에게 목록을 사용하여 1에서 10까지의 임의의 정수를 지름으로 제공하는 프로그램을 만들고 Pi를 3으로 사용하여 원의 둘레를 계산해야합니다. 내 코드에서 사용자가 정수 대신 문자열을 입력하면 프로그램은 사용자에게 정수를 입력하도록 요청합니다. 그런 다음 사용자가 정답을 입력하면 프로그램에서 오답이라고 표시합니다. 나는 그것이 옳다고 말하는 프로그램이 필요하다. 도움을받을 수있는 기회가 있으십니까? 여기 내 코드는 다음과 같습니다.Python 프로그램에서 사용자 입력 처리
import turtle
import random
turtle.speed("fastest")
pi = 3
minNumber = 4
maxNumber = 10
score = 0
listNmbers = []
a = [1,3,5,7,9]
red = random.random()
green = random.random()
blue = random.random()
num1 = random.choice(a)
def askCir(cirAnswer):
try:
user = input("What is the circumference of a circle if the diameter is " + str(num1) + " and Pi is 3?")
cirAnswer = int(user)
except:
print("Please input a number only!")
cirAnswer = 0;
cirAanswer = askCir(cirAnswer)
return cirAnswer
cirAnswer = 0;
cirAnswer = askCir(cirAnswer)
print("Welcome! What is your name??")
name = str(input())
print("Hello", name,"you need to calculate the circumference of a circle when given a diameter. To calculate the circumference, use the equasion; Pi x Diameter (Pi = 3")
def getNumbers():
num = input("how many questions would you like to answer? (Pick between 5 and 10)")
try:
numbers = int(num)
except:
print("That is not a number!")
return getNumbers()
goodInput = minNumber < numbers < maxNumber
if not goodInput:
print ("That is not between 5 and 10. Please input an integer between 5 and 10.")
return getNumbers()
else:
return numbers
numbers = getNumbers()
for i in range(numbers):
red = random.random()
green = random.random()
blue = random.random()
turtle.color(red,green,blue)
num1 = random.choice(a)
correct = num1 * 3
cirAnswer = 0;
cirAnswer = askCir(cirAnswer)
print(str(correct))
if float (cirAnswer) == correct:
print("That's Correct! Well Done")
score = score + 1
else:
print("Sorry that is incorrect")
for k in range(correct):
turtle.color(red,green,blue)
drawSquare()
turtle.penup()
turtle.forward(150)
파이썬을 반환했다 : //en.wikipedia.org/wiki/Tail_call) 최적화. 재귀를 사용하는 대신 루프에서'askCir'을 호출해야합니다. –