返回后,python无法获取值

时间:2018-02-12 17:26:59

标签: python

.getContentText()

伙计们说,最终结果没有定义,任何人都可以向我解释我做错了什么?

2 个答案:

答案 0 :(得分:0)

在第二个if语句中返回后,你必须取消行。

if type(a) != type(1):
  raise TypeError, "expected integer, got %s" % type(a)
if not 0 < a < 1000000:
  raise ValueError, "Argument must be between 1 and 1000000"
ints = (1000, 900,  500, 400, 100,  90, 50,  40, 10,  9,   5,  4,   1)
nums = ('M',  'CM', 'D', 'CD','C', 'XC','L','XL','X','IX','V','IV','I')
result=""
for i in range(len(ints)):
  result=""
  count = int(a / ints[i])
  result += nums[i] * count
  a -= ints[i] * count
print("the result is " + result)
return result

希望这有帮助。

答案 1 :(得分:0)

假设我对你的代码缩进的方式是正确的,并且你省略了一个实际调用该函数的行,问题是你不允许在函数范围内修改全局变量没有宣布它们是全球性的。因此,如果您希望能够在执行该函数后阅读global result,请将result添加到函数的顶部。

这通常是一个可怕的想法 - 将函数的结果分配给值更好,比如

result = int_to_roman(a)
print(result)