默默佩佩 发表于 2020-7-14 10:43:02

python第七八讲课后练习求助

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

Twilight6 发表于 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 or ) 实现什么样的功能?这个问题没写答案啊

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

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

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

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

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

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



默默佩佩 发表于 2020-7-14 11:06:03

好的,感谢

默默佩佩 发表于 2020-7-14 11:11:41

默默佩佩 发表于 2020-7-14 11:06
好的,感谢

麻烦再问一下,第三个,代码应该print后面写啥

默默佩佩 发表于 2020-7-14 11:14:02

默默佩佩 发表于 2020-7-14 11:06
好的,感谢

name = '小甲鱼'
if '鱼' in name:
print (True)

czzhbq 发表于 2021-1-4 14:20:08

Twilight6 发表于 2020-7-14 11:00
答案确实错了,答案只做到了两个值相互交换,而 y 没有进行改变,正确答案应该是 x,y,z = y,z,x...

学习了
页: [1]
查看完整版本: python第七八讲课后练习求助