用户输入的三角形边和程序(想想Python练习5-4-2)
我试图解决Think Python的练习5-4-2,该练习要求编写一个程序,提示用户输入三根棍子的大小,以便计算它们是否可以组成一个三角形。规则是,如果三根棍子中的任何一根长度大于另外两条的总和,则不能形成三角形 这是我的密码。问题是它总是返回“no triangle”(我尝试使用正确的值,如4、5和3,以及应该返回错误的值,如1、2和12),并且它总是指示“None”(好像我没有使用“return”):用户输入的三角形边和程序(想想Python练习5-4-2),python,Python,我试图解决Think Python的练习5-4-2,该练习要求编写一个程序,提示用户输入三根棍子的大小,以便计算它们是否可以组成一个三角形。规则是,如果三根棍子中的任何一根长度大于另外两条的总和,则不能形成三角形 这是我的密码。问题是它总是返回“no triangle”(我尝试使用正确的值,如4、5和3,以及应该返回错误的值,如1、2和12),并且它总是指示“None”(好像我没有使用“return”): 提前感谢您的帮助!。。。Norpa您没有正确地将xy和z转换为整数,从而将输入的字符串与进
提前感谢您的帮助!。。。Norpa您没有正确地将
x
y
和z
转换为整数,从而将输入的字符串与
进行比较
改变
int(x)
到
对y
和z
执行相同的操作。
这里的问题是您忘记将
int(x)
的返回值赋给变量x
,因此int(x)
没有任何有意义的效果。这里的问题是您没有将int cast
重新赋回x、y和z。因此,它们被视为字符串,在上一次比较中,结果是(x+y)=34
(作为字符串),比较结果为真
因此,所有提示部分应如下所示:
prompt1 = 'Input firt stick length for your triangle please...'
x = raw_input(prompt1)
x = int(x)
或:
构造函数时,可以将其设置为整数 def是_三角形(a、b、c): 这是考虑到范围仅限于您的练习。您可以通过将其设置为动态,将用户输入限制为仅为整数(在提示符中),从而将其提升到一个小的高级级别。希望你能做到这一点,一旦你移动到高级用户。祝你好运
x = int(x)
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))
if (int(a)>int(b+c)) or (int(b)>int(c+a)) or (int(c)>int(a+b)):
print("No")
else:
print("Yes")