如何在for循环中打印整数



在Python中,如何将整数一个打印在另一个下面:

a1 = "Great"
a2 = 100
for all in a1:
print(all)

输出:

G
r
e
a
t

问题:如何为变量a2编写for/print语句,以便输出为:

1
0
0

您需要将a2,一个int转换为可迭代的东西。一种方法是将a2转换为字符串:

a2 = 100
for str_digit in str(a2): # if a2 is negative use str(a2)[1:] to not print '-' sign
print(str_digit)

另一种方法可以是将a2中的单个数字(仍然是int(提取到列表(或另一个可迭代的列表(中:

def get_digits(num):
num = abs(num)
digits = []
while num != 0:
digits.append(num % 10)
num //= 10
return digits
a2 = 100
for str_digit in get_digits(a2):
print(str_digit)

输出:

1
0
0

类型为int的对象是不可迭代的。因此,通过使它成为string来强制它是可迭代的。

x = 1337
for num in str(x):
print(num)

要通过for循环获取单词的字母或数字的元素,需要一个字符串

a=100是一个整数,因此您需要将其转换为字符串,如下所示:


a=str(100)
for i in a:
print(i)

最新更新