python - 三角蟒的面积/类型
问题描述
我应该找到一个代码,询问用户三角形的底边、高度和边,然后告诉用户“这个(类型)三角形的面积是(面积)”,然后不断询问用户更多信息直到他们决定退出。我到目前为止的代码是......
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)
解决方案
干得好,多评论几句。。。
(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) )
推荐阅读
- .net - 仅当文件不存在时才使用 PowerShell 从 SFTP 服务器传输文件
- d3.js - 字符串 x 刻度不缩放 D3 中的数据
- ios - WCSession 激活会话不调用委托方法
- javascript - 在函数中作为参数传递时无法设置 css 样式
- python - 我得到一个 IndexError: list index out of range 错误
- pandas - Zulu 格式的时间戳字符串到日期时间
- logging - 用于记录器的 .Net Core 中间件
- kotlin - 在 Kotlin 中读入和打印出二维数组的最快方法是什么?
- kotlin - 是否可以将大文件上传到 Ktor & Netty 服务器?
- xampp - 带有 Xampp + Cloudflare 的子域