我想创建一个程序,将输入大小输入到用户,然后输入单个三角形的类型,以选择它是否为空或no_empty,输出1到4,如果空,输出5到8,如果no_empty。
我的代码现在是这样的。
tri = int(input("enter size : "))
empthy = input("type of rectangle triangle : " )
choice = int(input("Choose the triangle you want to draw.\n1. triangle1 \n2. triangle2 \n3. triangle3 \n4. triangle4 \n5. triangle5 \n6. triangle6 \n7. triangle7 \n8. triangle8\n== >"))
print_triangle(tri, empthy, choice)
这是我想做的代码的一个例子,
输入大小: 10
矩形三角形的类型: empthy
选择要绘制n1的三角形。triangle1 \n2。triangle2 \n3.triangle3 \n4.triangle4
或
输入大小: 10
矩形三角形类型: no_empthy
选择要绘制n5的三角形。triangle5 \n6.triangle6 \n7.triangle7 \n8.triangle8
我的问题是,如果你在(“垂直三角形的类型”)中选择no_empty,它将输出从1到8的所有内容。
发布于 2020-05-25 04:27:02
您必须使用if - else
来决定要显示给用户的三角形,例如:
tri = int(input("enter size : "))
empty = input("type of rectangle triangle : " )
if empty=="empty":
choice = int(input("Choose the triangle you want to draw.\n1. triangle1 \n2. triangle2 \n3. triangle3 \n4. triangle4\n== >"))
elif empty=="no_empty":
choice = int(input("Choose the triangle you want to draw.\n5. triangle5 \n6. triangle6 \n7. triangle7 \n8. triangle8\n== >"))
print_triangle(tri, empty, choice)
发布于 2020-05-25 04:21:09
欢迎来到Stackoverflow兄弟!!
triangle_size = int(input("Enter size : "))
filling = input("Do you want empty triangle or no_empty triangle: ")
if(filling=="empty"):
choice = int(input("Choose the triangle you want to draw.\n1. triangle1 \n2. triangle2 \n3. triangle3 \n4. triangle4\n== >"))
elif(filling=="no_empty"):
choice = int(input("Choose the triangle you want to draw.\n5. triangle5 \n6. triangle6 \n7. triangle7 \n8. triangle8\n== >"))
print_triangle(triangle_size, empty, choice)
发布于 2020-05-25 04:31:16
如果看不到print_triangle
函数的代码,就很难判断它为什么输出从1到8的所有内容,但如果需要验证输入,可以这样做。
1)声明一个确定输入是否有效的函数。例如,如果我们想要检查输入的整数类型是否正确,我们会这样做:
def validate_integer_input(s):
return int(s)
def validate_exactly_2_int_input(s):
parts = s.split()
if len(parts) != 2:
raise ValueError
return list(map(int, parts))
如果数据有问题,验证器将返回值或引发ValueError。
2)然后编写修改后的输入函数,如下所示:
def validated_input(validator):
while True:
try:
return validator(input())
except ValueError:
pass
此函数将不断尝试接收用户的输入,直到输入正确的数据。
3)使用它:
a = validated_input(validate_integer_input)
pairs = validated_input(validate_exactly_2_int_input)
https://stackoverflow.com/questions/61995589
复制