求大神来帮助看看是什么问题?
def judge(i, b):if i == '':
i = b
print('默认:'+ i)
else:
print('输入为:'+ i)
product_name = input('请输入品名,默认是花盆:')
judge(product_name, '花盆')
print('品名是', product_name)
##如果直接按回车(也就是默认),变量product_name无法被赋值。请问是如何解决。运行结果如下##
请输入品名,默认花盆:
默认:花盆
品名是 def judge(i, b):
if i == '':
i = b
print('默认:'+ i)
else:
print('输入为:'+ i)
return i
product_name = input('请输入品名,默认是花盆:')
product_name = judge(product_name, '花盆')#这里把i的值返回给product_name就好了
print('品名是', product_name) 原因在于,函数被调用时形参i的变化,不会改变实际参数product_name,
所以你给i赋的默认“花盆”只改变了 i,通过返回值才能修改product_name 昨非 发表于 2021-1-6 22:30
原因在于,函数被调用时形参i的变化,不会改变实际参数product_name,
所以你给i赋的默认“花盆”只改变了 ...
你好,return i,还是不管用,请问能否指导下如何修改? 实际上,默认名字大可不必通过函数的第二个参数设置
def judge(i):
if i == '':
print('默认:花盆')
return '花盆'
else:
print('输入为:'+ i)
return i
product_name = input('请输入品名,默认是花盆:')
product_name = judge(product_name)
print('品名是', product_name) 昨非 发表于 2021-1-6 22:34
实际上,默认名字大可不必通过函数的第二个参数设置
太感谢了!搞定了,谢谢指导! 305680663 发表于 2021-1-6 22:32
你好,return i,还是不管用,请问能否指导下如何修改?
麻烦说明一下return i,还是不管用是啥意思 305680663 发表于 2021-1-6 22:35
太感谢了!搞定了,谢谢指导!
解决了就好 昨非 发表于 2021-1-6 22:34
实际上,默认名字大可不必通过函数的第二个参数设置
因为这个函数我需要设置不同的默认值,所以加了第二个参数。 305680663 发表于 2021-1-6 22:37
因为这个函数我需要设置不同的默认值,所以加了第二个参数。
那就按照上个回复的那样改吧
加个返回值来修改product_name
页:
[1]