大佬看看我写的对嘛
本帖最后由 眸战冷宸 于 2022-10-12 21:08 编辑这是小甲鱼写的
n = int(input("请输入一个正整数:"))
while n > 0:
if n % 2 == 0:
print(n, "/2 = ", n // 2, sep='')
n = n // 2
else:
print(n, "*3+1 = ", n * 3 + 1, sep='')
n = n * 3 + 1
if n == 1:
break
这是我写的
nums = int(input("请输入一个自然数:"))
while nums != 1:
if nums % 2 == 0:
nums = nums / 2
print(nums,"/","2")
else:
nums = nums * 3 + 1
print(nums,"*","3","+","1")
break 这不一样么{:10_277:}
楼主与小甲鱼写的程序代码是一样的! 楼主,这两个代码的区别在哪里? 是的是的, 你的代码是对的
自己跑一遍没问题不就行了 不好意思,我粘贴错了,现在的是我的了 本帖最后由 hveagle 于 2022-10-12 21:14 编辑
行数一样;
11行
循环条件一样;
n > 0
循环内容一样;
if nums % 2 == 0:
nums = nums / 2
print(nums,"/","2")
else:
nums = nums * 3 + 1
print(nums,"*","3","+","1")
外部内容一样;
nums = int(input("请输入一个自然数:"))
所有东西一样! hveagle 发表于 2022-10-12 21:09
行数一样;
循环条件一样;
不一样啊 本帖最后由 LIUBOLIUHAO 于 2022-10-13 09:00 编辑
n = int(input("请输入一个正整数:")) # 小甲鱼这里求的是正整数
while n > 0: # 小甲鱼再求正整数,输入-1则会结束程序
if n % 2 == 0:
print(n, "/2 = ", n // 2, sep='')
n = n // 2
else:
print(n, "*3+1 = ", n * 3 + 1, sep='')
n = n * 3 + 1
if n == 1: #小甲鱼这里有一个限制条件,n==1是结束循环,去掉的话就会一直循环,你可
#以运行试一下
break
nums = int(input("请输入一个自然数:")) #你这里求得的是自然数
while nums != 1: #你的条件是不等于1,所以可以输入负数
if nums % 2 == 0:
nums = nums / 2
print(nums,"/","2")
else:
nums = nums * 3 + 1
print(nums,"*","3","+","1")
break #你这里把back去掉就可以循环运行正整数,你要运行负整数则还需写一个负整数限制条件
你的计算过程没有详细看,只能按自己的理解给你解决一下 {:10_277:}
页:
[1]