jiang073600 发表于 2023-3-19 17:36:23

实在不想做伸手党,奈何试了无数遍,就是报错

004讲课后作业最后两题。
倒数第二题:我试了好几种都报错,甚至直接复制答案也报错{:5_99:}
第一种:
>>> fishc=r"""
复制的代码。
"""
>>> print(fishc)
报错 Traceback (most recent call last):
File "<pyshell#48>", line 1, in <module>
    print(fishc)
TypeError: 'str' object is not callable

第二种也报错
>>> fishc=(r"""
复制的代码。
""")
>>> print(fishc)
还是报错。

拿着答案ctrl+v:
fishc=r"""
复制的代码
"""
>>> fishc

结果打印出来是这么个样子'\n      ___                     ___          ___          ___   \n   /\\\\         ___       /\\\\      /\\__\\      /\\\\    \n    /::\\\\       /\\\\   /::\\\\      /://       /::\\\\   \n   /:/\\:\\\\      \\:\\\\   /:/\\ \\\\    /:/__/       /:/\\:\\\\\n/::\\~\\:\\\\   /::\\__\\ _\\:\\~\\ \\\\/::\\\\ ___/:/\\:\\\\ \n /:/\\:\\ \\:\\__\\ __/:/\\/__//\\ \\:\\ \\ \\__\\/:/\\:\\/\\__\\/:/__/ \\:\\__\\\n \\/__\\:\\ \\/__//\\/://   \\:\\ \\:\\ \\/__/\\/__\\:\\/://\\:\\\\\\/__/\n      \\:\\__\\\\::/__/   \\:\\ \\:\\__\\       \\:://\\:\\\\      \n       \\/__/   \\:\\__\\      \\:\\/://       /://    \\:\\\\   \n                \\/__/       \\:://       /://      \\:\\__\\    \n                           \\/__/      \\/__/      \\/__/\n'
----------------------------------分割线---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



004讲最后一题,同样复制答案粘贴上去也报错,如下:
>>> for i in range(1, 10):
...      for j in range(1, i+1):
...            print(i, "x", j, "=", i * j, end=' ')
...      print("\n")
报错:SyntaxError: expected an indented block


萌新不清楚前面的三个点代码里面需不需要,于是乎我又手动打了一遍,如下:
for i in range(1,10):
        for j in range(1,i+1):
                print(i,"x",j,"="i*j,end=' ')
这边print这一行,括号一打完,回车就报错,根本不给输入最后一行的机会。报错内容:SyntaxError: invalid syntax

然后我再复制加粘贴,把前面3个点去掉,如下:
for i in range(1, 10):
      for j in range(1, i+1):
            print(i, "x", j, "=", i * j, end=' ')
print("\n")
SyntaxError: invalid syntax

确实不想做伸手党,奈何脑子都迷糊了,求求了

jiang073600 发表于 2023-3-19 17:39:40

又试了一下,还是报错,真的无奈了
for i in range(1, 10):
      for j in range(1, i+1):
                print(i, "x", j, "=", i * j, end=' ')
         print("\n")
         
SyntaxError: unindent does not match any outer indentation level

isdkz 发表于 2023-3-19 17:46:53

jiang073600 发表于 2023-3-19 17:39
又试了一下,还是报错,真的无奈了
for i in range(1, 10):
      for j in range(1, i+1):


del print
for i in range(1, 10):
      for j in range(1, i+1):
                print(i, "x", j, "=", i * j, end=' ')
      print("\n")

歌者文明清理员 发表于 2023-3-19 17:49:49

for i in range(1, 10):
      for j in range(1, i+1):
                print(i, "x", j, "=", i * j, end=' ')
      print("\n")
第四行 print 缩进错误
给我最佳答案

夜然 发表于 2023-3-19 19:08:38

最后一题。
稍微看了一下,手动打的代码部分, print(i,"x",j,"="i*j,end=' '),这句i*j前面缺了一个逗号,导致直接出错。
去掉三个点那个答案,我觉得是你第三行的print缩进有问题,python的缩进要保持一致,前后缩进不同导致出错。

当初约定 发表于 2023-3-20 15:37:19

我怎么感觉楼主是放在交互窗口进行运行的?{:10_257:}

jiang073600 发表于 2023-3-21 09:35:46

当初约定 发表于 2023-3-20 15:37
我怎么感觉楼主是放在交互窗口进行运行的?

那应该在?
卧槽?这才是问题所在吗?

jiang073600 发表于 2023-3-21 09:37:37

歌者文明清理员 发表于 2023-3-19 17:49
第四行 print 缩进错误
给我最佳答案

问题是我第三行打完,print(),就默认我代码结束了,然后报错,根本不给第四行的机会

jiang073600 发表于 2023-3-21 09:44:09

歌者文明清理员 发表于 2023-3-19 17:49
第四行 print 缩进错误
给我最佳答案

试了一下,楼下说德对的,第三行少一个逗号,所以第三行结束就直接报错了。
但是新的问题又有了,第四行结束打印不出来,回车只有一个换行的功能,再按一下就报错了。
>>> for i in range(1,10):
        for j in range(1,i+1):
                print(i,"x",j,"=",i*j,end='')
                print("\n")

               
Traceback (most recent call last):
File "<pyshell#70>", line 3, in <module>
    print(i,"x",j,"=",i*j,end='')
TypeError: 'str' object is not callable

jiang073600 发表于 2023-3-21 09:46:10

夜然 发表于 2023-3-19 19:08
最后一题。
稍微看了一下,手动打的代码部分, print(i,"x",j,"="i*j,end=' '),这句i*j前面缺了一个逗号 ...

大佬看得真仔细,是了是了,就是缺这个逗号。我又试了一下,第四行打印不出来,回车只有换行的功能,再点一下就报错。
>>> for i in range(1,10):
      for j in range(1,i+1):
                print(i,"x",j,"=",i*j,end='')
                print("\n")

               
Traceback (most recent call last):
File "<pyshell#70>", line 3, in <module>
    print(i,"x",j,"=",i*j,end='')
TypeError: 'str' object is not callable

jiang073600 发表于 2023-3-21 09:55:29

当初约定 发表于 2023-3-20 15:37
我怎么感觉楼主是放在交互窗口进行运行的?

原来是这样,我裂开了

当初约定 发表于 2023-3-21 09:55:53

jiang073600 发表于 2023-3-21 09:35
那应该在?
卧槽?这才是问题所在吗?

这个虽然不是根本问题,但你这个使用交互窗口编码的确实有点那啥

jiang073600 发表于 2023-3-21 09:57:52

当初约定 发表于 2023-3-20 15:37
我怎么感觉楼主是放在交互窗口进行运行的?

再问一下,什么时候用交互模式,什么时候用编辑模式

当初约定 发表于 2023-3-21 10:01:31

jiang073600 发表于 2023-3-21 09:46
大佬看得真仔细,是了是了,就是缺这个逗号。我又试了一下,第四行打印不出来,回车只有换行的功能,再点 ...

我尝试在我的IDE运行你的代码,我的运行正常
for i in range(1, 10):
    for j in range(1, i + 1):
      print(i, "x", j, "=", i * j, end='')
      print("\n")
运行结果:

当初约定 发表于 2023-3-21 10:03:20

jiang073600 发表于 2023-3-21 09:57
再问一下,什么时候用交互模式,什么时候用编辑模式

我基本不用交互模式,都是在pycharm中编写Python程序,交互模式在顶多在安装的时候验证是否安装Python成功{:10_250:}

jiang073600 发表于 2023-3-21 10:31:41

当初约定 发表于 2023-3-21 10:01
我尝试在我的IDE运行你的代码,我的运行正常

运行结果:

我交互模式就是运行不了呢,刚刚试了编辑模式才行

当初约定 发表于 2023-3-21 11:01:06

jiang073600 发表于 2023-3-21 10:31
我交互模式就是运行不了呢,刚刚试了编辑模式才行

是的,交互模式对于这个缩进或者流程分支支持不是很友好,像这个for语句用在交互模式我感觉就是会报错的(虽然我没有试过)
页: [1]
查看完整版本: 实在不想做伸手党,奈何试了无数遍,就是报错