Stitches_ 发表于 2022-5-1 21:35:24

[求助] 九九乘法表新手遇到错误

print('==========')
for x in range(1,10):
    print('')
    for y in range(1, x+1):
      z = (y * z)
      print('{}*{}={}\t'.format(x,y,z), end = '')
   
这个报错显示 z没有定义,但是z不是已经被y * z赋值了嘛,不太理解出错的点{:5_100:}

Stitches_ 发表于 2022-5-1 21:37:29

Traceback (most recent call last):
File "d:\Worksoft\Little_turtle\03_作业练习.py", line 58, in <module>
    z = (y * z)
NameError: name 'z' is not defined

报错的信息,明显的是z没有定义

Stitches_ 发表于 2022-5-1 21:50:35

{:5_104:}才发现书写错误了{:5_104:}

wp231957 发表于 2022-5-2 08:01:23

Stitches_ 发表于 2022-5-1 21:50
才发现书写错误了

z=y*x完全就是多余的语句

傻眼貓咪 发表于 2022-5-2 08:40:04

for x in range(1, 10):
    print()
    for y in range(1, x + 1):
      print('{}*{}={}\t'.format(x, y, x*y), end = '')

新源 发表于 2022-5-2 22:17:46

问题出在你把变量写错了,z是输出结果,y和z是循环的遍历数字,这里你将z== (y * z)改为    z = (y * x)就OK了
下方是代码
print('==========')
for x in range(1,10):
    print('')
    for y in range(1, x+1):
      z = (y * x)
      print('{}*{}={}\t'.format(x,y,z), end = '')

Stitches_ 发表于 2022-5-3 16:27:31

新源 发表于 2022-5-2 22:17
问题出在你把变量写错了,z是输出结果,y和z是循环的遍历数字,这里你将z== (y * z)改为    z = (y * x)就O ...

感谢~手误了
页: [1]
查看完整版本: [求助] 九九乘法表新手遇到错误