繁体   English   中英

如何为每次迭代从for循环打印while循环的输出

[英]how to print output from a while loop from a for loop for each iteration

我知道我需要一个 for 循环,我正在尝试打印输入数字(作为最大值),然后打印达到 1 所需的步数。当前程序打印输入数字和该输入数字的步数,我需要它用相关步骤将每个输入数字和每个数字的相应步骤打印为1。 如果我输入 2,它应该说 2 需要 1 步,然后 1 需要 0 步。

n = int(input('n? '))
n_steps = 0
num=n
while n > 1:
        n_steps+=1
        if n % 2 == 0:
            n = n // 2
        else:
            n = n * 3 + 1
print(str(num) + ' takes ' + str(n_steps) + ' steps')

你想做这样的事情吗?

num = int(input('n? '))
for i in range(num, 0, -1):
    n_steps = 0
    n = i
    while n > 1:
        n_steps += 1
        if n % 2 == 0:
            n = n // 2
        else:
            n = n * 3 + 1
    print(str(i) + ' takes ' + str(n_steps) + ' steps')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM