冰沙王子 发表于 2022-3-10 08:26:58

for循环打印九九乘法表 来个大哥帮帮我

for h in range(1,10):
    for l in range(1,h+1):
      print(str(h) + "×" + str(l) + "=" + str(h*l)+"\t",end='')
    print()
为什么str(h*l)不能用str(h)*str(l)替代呢?新手这几天刚刚开始学的,好多不懂,求轻锤

荏苒时光 发表于 2022-3-10 08:27:08

str(h)*str(l) 语法错误,乘的话,后面得是数字,但是你想打印的是这两个数的积,所以先乘再转成字符串

吧唧吧唧 发表于 2022-3-10 08:27:17

字符串没有乘字符串的,可以乘数字,但是你得明白字符串乘数字什么意思

具体能不能,你敲敲不就知道了

都市酒店 发表于 2022-3-10 08:27:45

str(h) + "×" + str(l) + "=" + str(h*l)    知道为啥用加号吗 ?   
是因为这样才能用    字符串拼接的功能
所以你就明白为啥会需要用   str()   函数把数字转换成字符串啦?
然后你就明白   你看到的   2 * 3 =6          实际上是一个字符串    “ 2 * 3 =6’”   那么 你应该就能明白   字符串是没有    *   这个方法的,所以会报错
那么你 所看到的6实际上就是    整数    2*3   所得到的结果   但现在被你使用变量代替了   h*l      这个东西实际上是个整数   类似于前面的6   但是前面的数值的式子你可以直接得到结果,换成变量你就只能老老实实打h*l
页: [1]
查看完整版本: for循环打印九九乘法表 来个大哥帮帮我