鱼C论坛

 找回密码
 立即注册
查看: 1314|回复: 9

[已解决]求大神来帮助看看是什么问题?

[复制链接]
发表于 2021-1-6 22:19:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def judge(i, b):
    if i == '':
        i = b
        print('默认:'+ i)
    else:
        print('输入为:'+ i)

product_name = input('请输入品名,默认是花盆:')   
judge(product_name, '花盆')
print('品名是', product_name)

##如果直接按回车(也就是默认),变量product_name无法被赋值。请问是如何解决。运行结果如下##

请输入品名,默认花盆:
默认:花盆
品名是
最佳答案
2021-1-6 22:30:33
原因在于,函数被调用时形参i的变化,不会改变实际参数product_name,
所以你给i赋的默认“花盆”只改变了 i,通过返回值才能修改product_name
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-6 22:27:28 | 显示全部楼层
  1. def judge(i, b):
  2.     if i == '':
  3.         i = b
  4.         print('默认:'+ i)
  5.     else:
  6.         print('输入为:'+ i)
  7.     return i

  8. product_name = input('请输入品名,默认是花盆:')   
  9. product_name = judge(product_name, '花盆')  #这里把i的值返回给product_name就好了
  10. print('品名是', product_name)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-6 22:30:33 | 显示全部楼层    本楼为最佳答案   
原因在于,函数被调用时形参i的变化,不会改变实际参数product_name,
所以你给i赋的默认“花盆”只改变了 i,通过返回值才能修改product_name
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-6 22:32:44 | 显示全部楼层
昨非 发表于 2021-1-6 22:30
原因在于,函数被调用时形参i的变化,不会改变实际参数product_name,
所以你给i赋的默认“花盆”只改变了 ...

你好,return i,还是不管用,请问能否指导下如何修改?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-6 22:34:18 | 显示全部楼层
实际上,默认名字大可不必通过函数的第二个参数设置
  1. def judge(i):
  2.     if i == '':
  3.         print('默认:花盆')
  4.         return '花盆'
  5.     else:
  6.         print('输入为:'+ i)
  7.         return i
  8. product_name = input('请输入品名,默认是花盆:')   
  9. product_name = judge(product_name)
  10. print('品名是', product_name)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-6 22:35:16 | 显示全部楼层
昨非 发表于 2021-1-6 22:34
实际上,默认名字大可不必通过函数的第二个参数设置

太感谢了!搞定了,谢谢指导!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-6 22:35:29 | 显示全部楼层
305680663 发表于 2021-1-6 22:32
你好,return i,还是不管用,请问能否指导下如何修改?

麻烦说明一下
return i,还是不管用
是啥意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-6 22:37:29 | 显示全部楼层
305680663 发表于 2021-1-6 22:35
太感谢了!搞定了,谢谢指导!

解决了就好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-6 22:37:35 | 显示全部楼层
昨非 发表于 2021-1-6 22:34
实际上,默认名字大可不必通过函数的第二个参数设置

因为这个函数我需要设置不同的默认值,所以加了第二个参数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-6 22:38:43 | 显示全部楼层
305680663 发表于 2021-1-6 22:37
因为这个函数我需要设置不同的默认值,所以加了第二个参数。

那就按照上个回复的那样改吧
加个返回值来修改product_name
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-14 04:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表