gpt4 book ai didi

python - 用户输入的三角形边和程序(Think Python 练习 5-4-2)

转载 作者:行者123 更新时间:2023-12-01 05:12:04 24 4
gpt4 key购买 nike

我正在尝试解决 Think Python 的练习 5-4-2,该练习要求编写一个程序,提示用户输入三根棍子的大小,以计算它们是否可以组成一个三角形。规则是,如果三根木棍中的任意一根长度大于另外两根木棍的长度之和,则不能构成三角形。

这是我的代码。问题是它总是返回“无三角形”(我尝试使用正确的值,例如 4、5 和 3,以及应该返回错误的值,例如 1,2 和 12),并且它总是指示“无”(就好像我没有使用“返回”):

    def is_triangle(x,y,z):
if (x>y+z) or (y>z+x) or (z>x+y):
print 'no triangle'
else:
print 'triangle yes'
return


prompt1 = 'Input firt stick length for your triangle please...'
x = raw_input(prompt1)
int(x)

prompt2 = 'Input second stick length for your triangle please...'
y = raw_input(prompt2)
int(y)

prompt3 = 'Input third stick length for your triangle please...'
z = raw_input(prompt3)
int(z)


print is_triangle(x,y,z)

预先感谢您的帮助!...诺帕

最佳答案

这里的问题是您没有将 int 类型转换重新分配回 x、y 和 z。因此,它们被视为字符串,在最后一次比较中,最终得到 (x + y) = 34 (作为字符串),并且比较结果为 True。

所以所有的提示部分应该是这样的:

prompt1 = 'Input firt stick length for your triangle please...'
x = raw_input(prompt1)
x = int(x)

或者:

prompt1 = 'Input firt stick length for your triangle please...'
x = int(raw_input(prompt1))

关于python - 用户输入的三角形边和程序(Think Python 练习 5-4-2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23982156/

24 4 0
文章推荐: Python:编写一次读取多行的解析器时出现文件结尾
文章推荐: jQuery 显示/隐藏单个页面中多个不相关的单选按钮集的
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com