如何每行打印5个非连续数字?



老师让我们在家准备这个活动:编写一个Python代码,显示100到999之间的所有数字,每个数字的数字之和小于10。Exp: 121因为1+2+1= 4;10(你应该每一行打印5个数字)

我解决了第一部分,但直到最后我才完成。事实上,这是我的工作:

for i in range(100, 1000):
s = i//100+i%100//10+i%10
if s<10:
print(i)

问题是这些数字不是连续的,所以我们如何将它们排成一行5个??请帮我把工作安排在周一

试试这个:

arr = [num for num in range(100,1000) if sum(int(n) for n in str(num)) < 10]
print(*(arr[a-5:a] for a in range(5,len(arr),5)), sep="n")

def ret_sum(n):
tmp = 0
for i in str(n):
tmp += int(i)
return True if tmp < 10 else False
flag = 0
for num in range(100, 1000):
if ret_sum(num):
print(num, end=" ")
flag += 1
if flag == 5:
flag = 0
print()

最新更新