我以为可以得到1.56, 为什么‘not defined'? mysunnyday 发表于 2020-07-14 01:29
应该不是scope的问题, 我有点不太懂楼主 exec("%s=%.3f" % (namefruit, 1.56)) 这个是什么意思,exec一般里面是执行某段valid的程序,这exec在干啥,为啥还有个% 在中间? JuliaB 发表于 2020-07-14 02:01
你仔细看下她的图片呗。 她是跑完了那个程序。 然后突然要applefruit, 感觉就是一个莫名其妙,所以才是undefined。 我觉得楼主根本啥都还没弄懂。 她那个applefruit都不知道define在哪里。 不娶何撩 发表于 2020-07-14 02:04
哦,谢谢,我没看到下面的那个图片, 对,早已经跳出greet_fruit 了, applefruit只在greet_fruit 函数里才有用,跳出函数就不能用了。 JuliaB 发表于 2020-07-14 02:09
我以为可以得到1.56, 为什么‘not defined''''? mysunnyday 发表于 2020-07-14 01:29
我以为可以得到1.56, 为什么‘not defined'?
不懂python,但你这个程序明显是在for循环里面定义了参数,那么出了循环,参数就消失了
仔细看,你这个for循环还在一个函数里面,所以外面肯定是拿不到这个参数的引用的
要解决这个问题,只能在函数外面定义变量,进了那边程序再赋值
而且你namefruit是funtion里边的变量。在函数外边应该也是not defined
变量名是给编译器看的,编译器编译后是实际上不存在的。
字符串是存在程序里的给人看的
"%s=%.3f" % (namefruit, 1.56) 这是format string 的一种方式
你仔细看下她的图片呗。
她是跑完了那个程序。 然后突然要applefruit, 感觉就是一个莫名其妙,所以才是undefined。
我觉得楼主根本啥都还没弄懂。 她那个applefruit都不知道define在哪里。
哦,谢谢,我没看到下面的那个图片, 对,早已经跳出greet_fruit 了, applefruit只在greet_fruit 函数里才有用,跳出函数就不能用了。
她好像从头到尾都没define这个applefruit。
只能让她从头开始学起了。
为什么这两天都有人问这样类似的python问题? 建议楼主系统的跟着视频或者什么资料学学。
类型错了,你可以看一下这个例子,变量名应该是String,不是把变量名传给一个String
n = 10 exec("%s = %d" % (''''n'''', 100)) # here the value of n is 100
在函数里定义的是局部变量,所以出了函数就不认识了。可以把它们都写进一个类里,或者用全局变量(不推荐)。