为了账号安全,请及时绑定邮箱和手机立即绑定

求帮忙看下是什么问题?

/ 猿问

求帮忙看下是什么问题?

qq_慕姐6148740 2019-05-25 18:51:44

https://img3.sycdn.imooc.com/5ce91df400015bc009770288.jpg

https://img1.sycdn.imooc.com/5ce91df40001979009090245.jpg

为什么第一幅图结果出来的不是'the Great a'...



查看完整描述

3 回答

?
pardon110

关键在于字符串方法title(),由于字符串对象不可变。因此调用它,会产生一个新的返回字符串,该字符串的每个单词首字母大写。即 s.title() 与 s是两个不同的对象

>> s = 'abc def ghi'
>> s.title()
Abc Def Ghi'
>> s
abc def ghi'
>>


查看完整回答
反对 回复 2019-05-25
?
qq_慕姐6148740



https://img3.sycdn.imooc.com/5ce926d80001aa7709240466.jpg

https://img1.sycdn.imooc.com/5ce926d80001b08302930171.jpg


https://img4.sycdn.imooc.com/5ce926da0001f58b09810519.jpg

https://img1.sycdn.imooc.com/5ce926da0001ccfd06460274.jpg

https://img1.sycdn.imooc.com/5ce926db000121ea10640515.jpg

https://img1.sycdn.imooc.com/5ce926dc000195ac06380350.jpg

一开始我以为要返回值,但总感觉很矛盾。


查看完整回答
反对 回复 2019-05-25
?
WrongAnswer

不是很会Python语法,但是你这个应该是函数参数传递的问题(在C/Java语言里面是这个原因)

你只是将magicians作为参数传给 def make_great,magicians的值并没有修改

所以打印出来的还是['a','b','c']

查看完整回答
反对 回复 2019-05-25
  • qq_慕姐6148740
    qq_慕姐6148740
    我明白,它只是临时变量而已,但是我还有另外两个结果,我觉得很矛盾的,麻烦帮忙看一下
  • WrongAnswer
    WrongAnswer
    方法(函数)参数传递只是值传递,make_great只是拿到了一个值,在make_great中对magicians数组的任何修改,在方法外都不会显示出来 方法make_great拿到的magicians,和你打印的magicians是两个不同的对象,是不同的数组
  • qq_慕姐6148740
    qq_慕姐6148740
    谢谢,辛苦了同学。但再打扰一下,帮我看下第5 第6幅图。 unprinted_designs = ['iphone case', 'robot pendant','dodecahedron'] completed_models = [] print_models(unprinted_designs,completed_models) show_completed_models(completed_models) 我的主代码是这个, 按理说 print_modelss是方法内改变completed_models 但是在方法外,show_completed_models(completed_models)的结果显示 我的completed_models确实被修改了
点击展开后面4

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信