Python中Keyword argument(kwargs)函数报错‘fn is not defined’的解决方法
问题解决:Python代码报错‘fn is not defined’
错误原因
函数my_funct里的kwarg[fn]和kwarg[sn]中,fn、sn被Python当作未定义的变量处理,但你实际要访问的是字典的键,必须用字符串形式指定。另外,input()获取的内容是字符串类型,直接相乘会触发类型错误,需要转成数值类型。
修正后的代码
def my_funct(**kwarg): # 使用字符串键取值,并转换为整数执行乘法 print(int(kwarg['fn']) * int(kwarg['sn'])) print('enter 2 numbers to get product of') a = input() print('enter second number') b = input() my_funct(fn=a, sn=b)
关键修改点
- 将
kwarg[fn]改为kwarg['fn'],kwarg[sn]改为kwarg['sn']:明确字典的键为字符串,避免变量未定义的报错。 - 用
int()(或float())转换输入值:把用户输入的字符串转为数值类型,确保乘法运算合法。
内容的提问来源于stack exchange,提问作者Abubakker Hashmi
相关产品推荐
相关产品推荐

