鱼C论坛

 找回密码
 立即注册
查看: 1254|回复: 5

[已解决]python第七八讲课后练习求助

[复制链接]
发表于 2020-7-14 10:43:02 | 显示全部楼层 |阅读模式

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

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

x
1,测试题第二个答案是不是错了
假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
答案:x, y, z = z, y, x
2,测试题第三个猜猜 (x < y and [x] or [y])[0] 实现什么样的功能?这个问题没写答案啊
3,第三题
name = '小甲鱼'
'鱼' in name
,相同的代码为什么我在Dell里能运行出来,新建一个文件就运行不出来
最佳答案
2020-7-14 11:00:23



假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?


答案确实错了,答案只做到了两个值相互交换,而 y 没有进行改变,正确答案应该是 x,y,z = y,z,x 或者 z,x,y 之类的交换,才算三个变量都相互交互了

2,测试题第三个猜猜 (x < y and [x] or [y])[0] 实现什么样的功能?这个问题没写答案啊


你往后学就知道了,这是当时 Python 还没有三元运算符操作时候,他人为了模拟出而写出的这个代码,这个和逻辑运算符有关系

or 只要判断到 True 就返回该处的值,and 只要判断到False 就返回 False ,当 and 两边都为 True 时,返回右边的数

所以这里先判断 x 和 y 的大小关系,返回 True 或者 False ,当返回 True 的时候 说明 x 符合 小于 y 的条件 返回 [x] ,然后用列表切片 [0] 取出 x 的值

反之 如果 x 和 y 的大小关系返回的是 False ,那么 False and [x] 被 False 短路了[x] ,返回的就是 [y]

相同的代码为什么我在Dell里能运行出来,新建一个文件就运行不出来


IDLE 或者其他编辑器的 Python 控制台自动会帮你打印除None以外的返回值,而编辑器那运行 就不会自动打印返回值了,所以你需要在脚本内添加 print 函数才能成功打印



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-14 11:00:23 | 显示全部楼层    本楼为最佳答案   



假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?


答案确实错了,答案只做到了两个值相互交换,而 y 没有进行改变,正确答案应该是 x,y,z = y,z,x 或者 z,x,y 之类的交换,才算三个变量都相互交互了

2,测试题第三个猜猜 (x < y and [x] or [y])[0] 实现什么样的功能?这个问题没写答案啊


你往后学就知道了,这是当时 Python 还没有三元运算符操作时候,他人为了模拟出而写出的这个代码,这个和逻辑运算符有关系

or 只要判断到 True 就返回该处的值,and 只要判断到False 就返回 False ,当 and 两边都为 True 时,返回右边的数

所以这里先判断 x 和 y 的大小关系,返回 True 或者 False ,当返回 True 的时候 说明 x 符合 小于 y 的条件 返回 [x] ,然后用列表切片 [0] 取出 x 的值

反之 如果 x 和 y 的大小关系返回的是 False ,那么 False and [x] 被 False 短路了[x] ,返回的就是 [y]

相同的代码为什么我在Dell里能运行出来,新建一个文件就运行不出来


IDLE 或者其他编辑器的 Python 控制台自动会帮你打印除None以外的返回值,而编辑器那运行 就不会自动打印返回值了,所以你需要在脚本内添加 print 函数才能成功打印



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

使用道具 举报

 楼主| 发表于 2020-7-14 11:06:03 | 显示全部楼层
好的,感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-14 11:11:41 | 显示全部楼层

麻烦再问一下,第三个,代码应该print后面写啥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-14 11:14:02 | 显示全部楼层
name = '小甲鱼'
if '鱼' in name:
 print (True)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-4 14:20:08 | 显示全部楼层
Twilight6 发表于 2020-7-14 11:00
答案确实错了,答案只做到了两个值相互交换,而 y 没有进行改变,正确答案应该是 x,y,z = y,z,x  ...

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-10 11:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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