鱼C论坛

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

[已解决]练习题目的不懂之处

[复制链接]
发表于 2022-9-18 16:20:48 | 显示全部楼层    本楼为最佳答案   
本帖最后由 ZhKQYu 于 2022-9-18 17:30 编辑

对于问题二,python对于除法操作,不论是否可以整除,其结果都为浮点型,而地板除的意思是让除法之后的结果为整数,还有就是print里面的"n/2"就是去打印这三个字符,而不是真正做了除法
对于问题三,在问题二里的n // 2虽然做了除法,但是n却没有被更新,也就是说,n还是原来的n,并没有被重新赋值,因此才需要再去运行一次n = n // 2
对于问题四,当然是n为奇数才会执行,因为上面的if条件是偶数执行if里的语句,如果不是偶数就执行else里面的语句,而且"*3+1=",这个东西仅仅是一个字符串,并不是表达式
对于问题五,和问题3一样,不再赘述
对于问题六,因为你输入的n肯定是大于零的,在经过了一系列操作之后,一定还是大于零的,唯一的出口就是n==1,当然会一直执行,知道n在某一次操作之后更新为1

  1. n = int(input("请输入一个正整数 : "))

  2. while n != 1 and n > 0:
  3.     print(n, "/ 2 =", n := n // 2, sep=" ") if n % 2 == 0 else print(n, "* 3 + 1 = ", n := n*3+1, sep=" ")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-9-19 22:54:38 | 显示全部楼层
霞明玉映 发表于 2022-9-19 20:43
对于问题二,python对于除法操作,不论是否可以整除,其结果都为浮点型,而地板除的意思是让除法之后的结 ...

当然可以了,做数据类型转化也是可以
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-2 10:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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