首页 > 解决方案 > 三角蟒的面积/类型

问题描述

我应该找到一个代码,询问用户三角形的底边、高度和边,然后告诉用户“这个(类型)三角形的面积是(面积)”,然后不断询问用户更多信息直到他们决定退出。我到目前为止的代码是......

again = "y"
while again != "n":

base = int(input("Enter base: "))  
height = int(input("Enter height: "))  
side1 = int(input("Enter side 1:  "))
side2 = int(input("Enter side 2:  "))
side3 = int(input("Enter side 3:  "))
area = (base*height) / 2

certain_type = []
if side1 == side2 == side3:
        print("Equilateral triangle")
    elif side1==side2 or side2==side3 or side1==side3:
        print("isosceles triangle")
    else:
        print("Scalene triangle")


print('This %f of the triangle is %0.2f' %area, certaintype)

标签: pythonarea

解决方案


干得好,多评论几句。。。

(1) 缩进会把它扔掉,因为整个代码应该在 while 循环下,这样你的整个游戏就会在每个三角形之后重复自己

(2) 而不是直接打印“等腰”、“scalene”等、“certaintype”……您可以使用certaintype='scalene'. 这样,您可以稍后在句子中打印三角形的类型。

(3) 最后的打印也应该在 while 循环下,因为您想在每个三角形信息输入后告诉您的用户答案。

(4) 对于字符串变量,字符串插值的语法是 %s,certaintype而数字/小数的语法是 %d,对于像area. 看看我是如何重写最后的打印行的。

像这样的东西应该工作:

while again != "n":

    base = int(input("Enter base: "))
    height = int(input("Enter height: "))
    side1 = int(input("Enter side 1:  "))
    side2 = int(input("Enter side 2:  "))
    side3 = int(input("Enter side 3:  "))
    area = (base*height) / 2

    certain_type = []
    if side1 == side2 == side3:
        certaintype = "Equilateral triangle"
    elif side1==side2 or side2==side3 or side1==side3:
        certaintype = "isosceles triangle"
    else:
        certaintype = "Scalene triangle"


    print('This %d of the triangle is %s' % (certaintype, area) )

推荐阅读