|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
alien_0 = {'x_position': 0, 'y_position': 25,'speed': 'medium'}
print("Original x_position: " + str(alien_0['x_position']))
#向右移动外星人
#据外星人当前的速度决定将其移动多远
if alien_0 == 'low':
x_increment = 1
elif alien_0 == 'medium':
x_increment = 2
elif alien_0 == 'fast': #这个外星人的速度很快
x_increment = 3
alien_0['x_position'] = alien_0['x_position'] + x_increment
print("New x_position: " + str(alien_0['x_position']))
结果是错误的:
alien_0['x_position'] = alien_0['x_position'] + x_increment
NameError: name 'x_increment' is not defined
而如果把 最后一个elif 改成 else 就不会出现这样的错误:
elif alien_0 == 'fast':
x_increment = 3
改变成 else:
x_increment = 3
报错是因为if条件均不成立,所以x_increment未赋值,所以你
alien_0['x_position'] = alien_0['x_position'] + x_increment这里调用的时候报错 x_increment未赋值。
而你该成else之后,意思上面两个if不成立之后执行else语句,然后给 x_increment赋值,之后下面
alien_0['x_position'] = alien_0['x_position'] + x_increment能顺利执行,所以不会报错
|
|