【发布时间】:2020-12-25 03:27:42
【问题描述】:
我编写了一个在海龟中绘制凸正多边形的程序(给定边数和长度)。我还希望它检查无效输入,这样它会立即询问用户是否想尝试不同的输入。有没有办法在更少的代码中检查输入的有效性,同时也考虑 ValueError?
此外,每次成功运行后都会出现 Terminator 错误。可能是什么原因造成的,使用此导入命令时是否有办法修复它?
from turtle import *
def inp():
while True:
try:
n = int(input("Enter the number of sides of the polygon: "))
except ValueError:
y_n = input("Invalid input, type \"y\" if you'd like to try again: ")
if y_n == "y":
continue
else:
print("Goodbye!")
break
if n >= 3:
pass
else:
y_n = input("Invalid input, type \"y\" if you'd like to try again: ")
if y_n == "y":
inp()
else:
print("Goodbye!")
break
try:
l = float(input("Enter the length of the side in pixels: "))
except ValueError:
y_n = input("Invalid input, type \"y\" if you'd like to try again: ")
if y_n == "y":
continue
else:
print("Goodbye!")
break
if l > 0:
for i in range(1, n + 1):
forward(l)
left(360/n)
exitonclick()
break
else:
y_n = input("Invalid input, type \"y\" if you'd like to try again: ")
if y_n == "y":
inp()
else:
print("Goodbye!")
break
inp()
【问题讨论】:
标签: python python-3.x loops turtle-graphics valueerror