鱼C论坛

 找回密码
 立即注册
查看: 1136|回复: 2

[已解决]新手求助

[复制链接]
发表于 2022-5-24 15:15:43 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 zibianfu 于 2022-5-24 15:25 编辑

题目:
1. 验证角谷猜想Powered by https://fishc.com.cn
$' R-tj~:9,T.6{JOGxi
角谷猜想的内容是:任意给定一个正整数,若它为偶数则除以 2,若它为奇数则乘以 3 再加 1,得到一个新的自然数,按照这样的方法计算下去,最终的结果必将是 1。
比如给定的自然数是 5,则 5 * 3 + 1 = 16 -> 16 / 2 = 8 -> 8 / 2 = 4 -> 4 / 2 = 2 -> 2 / 2 = 1。
现在要求大家编写一个验证角谷猜想的程序。

代码:
num=int(input("please input a number:"))
text=" "
while True:
    if num==1:
        break
    elif num%2==0:
        text=text+"-->"+str(num)+"/2="+str(int(num/2))
        num=num/2
    elif num%2==1:
        text=text+"-->"+str(num)+"*3+1="+str(int(num*3+1))
        num=num*3+1
print("计算流程:",text)
   


输出结果:
please input a number:100
计算流程:  -->100/2=50-->50.0/2=25-->25.0*3+1=76-->76.0/2=38-->38.0/2=19-->19.0*3+1=58-->58.0/2=29-->29.0*3+1=88-->88.0/2=44-->44.0/2=22-->22.0/2=11-->11.0*3+1=34-->34.0/2=17-->17.0*3+1=52-->52.0/2=26-->26.0/2=13-->13.0*3+1=40-->40.0/2=20-->20.0/2=10-->10.0/2=5-->5.0*3+1=16-->16.0/2=8-->8.0/2=4-->4.0/2=2-->2.0/2=1

问题:如何把输出结果里面的小数点不显示,比如50.0显示成50,str函数把数字转换成字符串以后能不能不带小数点呢,该怎么改代码?谢谢!
最佳答案
2022-5-24 15:17:13
把一个斜杠换成两个,就是所谓的地板除//
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-24 15:17:13 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
把一个斜杠换成两个,就是所谓的地板除//
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-24 17:20:52 | 显示全部楼层
明白了,相除运算出来的是浮点数,加个int就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 03:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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