永发信息网

python 函数调用问题name 'new_fjcb' is not defined

答案:3  悬赏:30  手机版
解决时间 2021-02-16 01:29
sj = float()
gl = int(10)
xy = int(15)

def fjz(new_fjcb):
_gl=1+gl/100
_xy=1+xy/100
new_fjcb=1*_gl*_xy
return new_fjcb

yj=float(input("请输入原价:"))
sj=yj*fjz(new_fjcb)
print(sj)

请大神帮忙看看问题错在哪里了
错误提示如下:
============== RESTART: C:\Users\Administrator\Desktop\价格计算器.py ==============
请输入原价:10
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\价格计算器.py", line 28, in
sj=yj*fjz(new_fjcb)
NameError: name 'new_fjcb' is not defined
>>>
最佳答案
new_fjcb是函数fjz的形参,是局部变量,在外部不可见,所以出错,修改如下:

1
2
3
4
5
6
7
8
9
10
11
sj =float()
gl =int(10)
xy =int(15)
deffjz():                             #参数留空
   _gl=1+gl/100
   _xy=1+xy/100
   new_fjcb=1*_gl*_xy
   returnnew_fjcb
yj=float(input("请输入原价:"))
sj=yj*fjz()                            #无参调用  
print(sj)
全部回答
报错意思是变量'new_fjcb'事先没有被定义。 因为你用input传入赋值给的yj变量,函数fjz需要传入一个值赋值给变量'new_fjcb',而你这里没有传入,直接就调用函数fjz,所以报错 补充一点:变量必须要先定义赋值再使用,不然就会报错NameError
你好! 报错意思是变量'new_fjcb'事先没有被定义。 因为你用input传入赋值给的yj变量,函数fjz需要传入一个值赋值给变量'new_fjcb',而你这里没有传入,直接就调用函数fjz,所以报错 补充一点:变量必须要先定义赋值再使用,不然就会报错NameError 仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
两岸猿声啼不住 还是不尽?
情侣网名出题
定讯办公设备这个地址在什么地方,我要处理点
在考虑子女教育金时,下列叙述何者错误?A.教
钢实腹式轴心受拉构件应计算的全部内容为()。
WIFI2.5g快还是5g快
男朋友说他说的话千万别叫我去琢磨,什么意思
百鸟园地址有知道的么?有点事想过去
膝盖有磨损,健身房想骑单车可以么
单选题下列关于遗传的说法正确的是A.在遗传过
淇滨区岳灵生发(鹤壁旗舰店)在哪里啊,我有事
指数函数中有真数,和函数值,求底数,咋算
微曼升级版玉蝴蝶巴特福莱YUBUTTERFLY模具身
浙江捷宇新材料科技股份有限公司地址有知道的
我用的中国联通总是自动给1066开头的发短信,
推荐资讯
天龙八部四象归一是秘籍技能吗
魔兽世界7.1.5搏击俱乐部大乱斗森雅怎么打 森
征途的定星石怎么用?
文言文如何表示瞎子
蜘蛛池哪家好,蜘蛛池哪个好,百度蜘蛛池
建华区齐齐哈尔神气能量氧身馆地址在哪,我要
蔚蓝海天地址在什么地方,想过去办事
汽车车架号重新打码多少钱
CPU I3哪个好?!
志兴文具店这个地址在什么地方,我要处理点事
美国电气工程专业都有哪些细分方向
一道算术题有249朵花,按6朵红花,8朵黄花,13朵
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?