我试图为给定的问题创建一个循环。我需要帮助;它没有以应有的方式打印。
给定正整数num_insects,写一个打印的while循环 这个数字加倍而不超过100.用a表示每个数字 空间。
例如:如果num_insects = 8,请打印:
8 16 32 64
这是我拥有的
num_insects = 8 # Must be >= 1
print(num_insects, '', end='')
while num_insects <= 100 :
num_insects = num_insects * 2
print(num_insects,'', end="")
此代码打印数字128,即使循环设置为100后结束?那是为什么?
答案 0 :(得分:3)
打印结果后,您希望乘以num_insects
。您可以将空字符串传递给end参数,如matt的答案中所述:
num_insects = 8
while num_insects <= 100:
print(num_insects,'', end="")
num_insects = num_insects * 2
print("") # newline
输出:
8 16 32 64
答案 1 :(得分:2)
print
函数隐式添加换行符:
https://docs.python.org/2/library/functions.html#print
您可以使用end =
参数传递替代结尾;尝试传递None
或' '
,看看是否能让您获得更好的结果。
答案 2 :(得分:1)
这就是您所需要的,而无需添加太多内容,但也可以按照需要的方式打印出来。
num_insects = 8 # Must be >= 1
while num_insects <= 100:
print(num_insects, end=' ')
num_insects = num_insects * 2
答案 3 :(得分:0)
哇!我实际上有一些东西需要补充。当我使用上面的代码时,我也得到了答案128,所以我做的是使用break命令。这是我使用的代码,它似乎有效:
num_insects = 8 # Must be >= 1
print(num_insects, end=' ')
while num_insects < 100:
num_insects = num_insects * 2
if num_insects <= 100:
print(num_insects, end=' ')
else:
break