输出与预期不同

时间:2018-12-30 18:55:06

标签: python

我刚刚开始编程,现在我陷入了一个问题。我想知道函数是否真正起作用。

a = [ 20.0, 8.0, 2.5 ]
b = 4
if b > len(a): 
    r = 2*b
r = b

我期望输出为8,但实际输出为4。为什么?因为4> 3那应该执行if语句对?

1 个答案:

答案 0 :(得分:1)

问题在于,如果条件else不是if b > len(a),则没有True语句应执行。因此,在您的代码中,首先执行了if语句,r的值变成了b的两倍(r变成了8),但是随后您从{{ 1}}语句,并再次 if分配给b,这就是为什么您的r再次变为4的原因。我希望这个概念现在很清楚。

正确的方法是

r