如何从打印语句python分配多个整数

时间:2019-02-22 02:02:07

标签: python python-3.x

我的最终目标是获得:

  • 1
  • 12
  • 123
  • 1234
  • ....
  • 123456789

并执行其他计算,例如(1 * 8),(12 * 8),(123 * 8)。

到目前为止,我拥有的代码是

for i in range(1,10):
    for j in range(1,i+1):
        print(j)
    print()

>>> 
1

1
2

1
2
3

1
2
3
4

如何使它们成为一个长整数?教科书提供的提示是“考虑使用字符串构建数字然后进行转换。”

3 个答案:

答案 0 :(得分:2)

一种更有效的方法是使用数学:

n = 0
for i in range(1, 10):
    n = n * 10 + i
    print(n)

这将输出:

1
12
123
1234
12345
123456
1234567
12345678
123456789

答案 1 :(得分:1)

欢迎来到。

我以您的源代码为基础。我添加了num string变量。 num用于在每次迭代中构建数字string,并在每次外循环迭代中重置。为了构建各自的string,我们在内部循环中使用行num = num + str(j)+在此处用于连接两个stringsstr(),以将integer j转换为string。在内部循环中迭代各个数字并创建相应的string之后,在每个外部循环迭代的结尾,我们放置print语句。在那里int()用于将创建的string转换为integer

for i in range(1,10):
    num = ''
    for j in range(1,i+1):
        num = num + str(j)
    print(int(num))

输出

1
12
123
1234
12345
123456
1234567
12345678
123456789

例如,您现在可以稍微调整print(int(num))行到print(int(num)*8)的位置,将每个打印的数字乘以8

然后将输出:

8
96
984
9872
98760
987648
9876536
98765424
987654312

答案 2 :(得分:0)

要生成一个长整数,首先需要将数字转换为字符串。

for i in range(1,10):
    tmp_code = ""
    for j in range(1,i+1):
        # convert the number to string
        tmp_code += str(j)
    print(tmp_code)

那么您将得到:

1
12
123
1234
12345
123456
1234567
12345678
123456789