【问题标题】:about triangular rull with functions in python关于 python 中带有函数的三角形规则
【发布时间】:2018-04-16 11:19:55
【问题描述】:

这段代码有什么问题?它看起来是正确的。但输出不正确。 顺便说一下,(没有一个大于或等于其他两个之和) 这是三角法则...

import sys

def areTriangular(x,y,z):
    if x<y+z and y<x+z and z<x+y:
        return True
    else:
        return False

a = sys.argv[1]
b = sys.argv[2]
c = sys.argv[3]


m = areTriangular(a,b,c)

print(m)

【问题讨论】:

  • 你使用什么输入法?你得到什么输出?你期望什么输出?
  • 比如我放了3 4 5个数,输出是。错误的。但它会是真的
  • 您需要将输入(字符串)转换为数字(浮点数或整数)。
  • 哦哦。赫勒伍德。非常感谢它有效。但我想知道为什么以前不能?因为那个函数不理解值是数字?
  • 如果你在字符串上使用&lt;,那么它们会按字母顺序进行比较,所以结果是不同的。

标签: python function triangular


【解决方案1】:

是因为Python是0索引所以需要使用:

a = sys.argv[0]
b = sys.argv[1]
c = sys.argv[2]

代替:

a = sys.argv[1]
b = sys.argv[2]
c = sys.argv[3]

【讨论】:

  • 不,不是。 sys.argv[0] 是脚本本身的名称。参数从 1 开始。
猜你喜欢
  • 2017-09-23
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 1970-01-01
  • 1970-01-01
  • 2018-05-06
相关资源
最近更新 更多