问题描述
我编写了一个程序,在乌龟中绘制凸的正多边形(给定边数和长度)。我还希望它检查无效的输入,以便它立即询问用户是否要尝试其他输入。有没有办法用更少的代码检查两个输入的有效性,同时还要考虑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()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)