请教!NameError: name 'A' is not defined
Topic source谢谢回答,但是这个是我描述问题的时候的错误,在cmd里面应用的时候我都是打英文的逗号,的,应该不是这个错误。补充函数就是以下
def move(n, a, b, c):
if n == 1:
print('move', a, '-->', c)
else:
move(n-1, a, c, b)
move(1, a, b, c)
move(n-1, b, a, c)
这move(4, A, B, C)代码在网页没问题,但是在cmd的Python里面就有报错
请问大家知道有和cmd一样能有Python模式的软件吗
这个网站的里面只能测试作业对不对,我一般都用cmd
但是cmd里面感觉太奇怪了,有些一模一样的代码换个文件名运行可以,换别的名字就报错了。
move(4, 'A', 'B', 'C')
楼主好好看下区别,网页上可能廖大做过处理,或是其他什么原因,但是move(4, A, B, C)意味着
a=A, b=B, c=C, 这是将一个变量赋值给另一个变量,A变量本身并没有值,所以,如果你用move(n, A, B, C),
可以在调用函数之前先对A,B,C赋值,但是如果想达到网页同样的效果,还是在传入参数的时候就直接传入字符串就好啦
In [23]: move(4, 'A', 'B', 'C')
move A --> B
move A --> C
move B --> C
move A --> B
move C --> A
move C --> B
move A --> B
move A --> C
move B --> C
move B --> A
move C --> A
move B --> C
move A --> B
move A --> C
move B --> C
这是赋值以后的
In [24]: A = 1
In [25]: B = 2
In [26]: C = 3
In [27]: move(2, A, B, C)
move 1 --> 2
move 1 --> 3
move 2 --> 3
- 1
作业写到哭XX
为什么我输入move(4,A,B,C)的时候报错NameError: name 'A' is not defined
是不是需要在函数文件里面定义参数的类型,像之前我看过别的人作业写a=float(input('a='))这种的
那我这时候需要怎么定义作业里面这个a啊。