我知道Python变量在像示例1那样首次声明时可以使用,但是当我尝试不带行total = 0
的示例2时,它将出现NameError: 'name' total is not defined
。为什么?
dmil = float(input("Enter the distance (miles): "))
dis = dmil * 1.61
print("The distance in miles {} is equal to {} in
kilometer.".format(dmil,dis))
total = 0 #why I necessarily need this?
for i in range (1,4):
h = float(input("Enter the {} height: ".format(i)))
total = h + total
avg = total/3
print("The average height of the 3 cousins is ",avg)
当我键入程序时,这真的让我感到困惑,是否有关于我何时应该声明var以及何时不应该声明var的定义?
答案 0 :(得分:0)
total = h + total
打算将h
的值添加到当前total
中。
在没有事先说明total
当前是什么的情况下,添加h
没有任何价值。
简而言之,如果删除total = 0
语句,逐行浏览代码,当到达total = h + total
时,h + total
应该是未定义的。< / p>
答案 1 :(得分:0)
total = 0
本身不是声明:它是初始化。这是必需的,因为当您到达生产线
total = h + total
RHS上total
的值是未知的。 Python尝试查找该值,并在程序中的那个位置找不到该名称的任何内容,因此它会抱怨。