Python 如何打印(连接)2个循环';结果

Python 如何打印(连接)2个循环';结果,python,python-3.x,for-loop,Python,Python 3.x,For Loop,我有两个循环: 第一个循环: number = 1234567 number_string = str(number) for ch in number_string: print(ch) 这将打印: 1 2 3 4 5 6 7 我有另一个循环: totalNum = len(str(abs(number))) for i in range(totalNum, 0, -1): print("* 10^ ",int(i-1)) 我会得到 * 10^ 6 * 10^

我有两个循环:

第一个循环:

number = 1234567
number_string = str(number)
for ch in number_string:
    print(ch)
这将打印:

1 
2 
3 
4 
5 
6 
7
我有另一个循环:

totalNum = len(str(abs(number)))
for i in range(totalNum, 0, -1):
  print("* 10^ ",int(i-1))
我会得到

* 10^  6
* 10^  5
* 10^  4
* 10^  3
* 10^  2
* 10^  1
* 10^  0
但我如何将这两个循环连接起来,从而得到如下结果:

1 * 10^  6
2 * 10^  5
3 * 10^  4
4 * 10^  3
5 * 10^  2
6 * 10^  1
7 * 10^  0

我是Python新手,所以我不知道如何做到这一点。

这对您来说是如何工作的:

number = 1234567
totalNum = len(str(abs(number)))
for i in range(totalNum, 0, -1):
  print(str(number)[::-1][i-1] + " * 10^ ",int(i-1))
输出:

1 * 10^  6
2 * 10^  5
3 * 10^  4
4 * 10^  3
5 * 10^  2
6 * 10^  1
7 * 10^  0

一种方法是先将字符串存储在列表中,然后打印它们:

>>> number = 1234567
>>> totalNum = len(str(abs(number)))
>>> string1 = [x for x in str(number)]
>>> string2 = ['* 10^ {}'.format(i-1) for i in range(totalNum, 0, -1)]
>>> for s1, s2 in zip(string1, string2):
...     print(s1, s2)
...
1 * 10^ 6
2 * 10^ 5
3 * 10^ 4
4 * 10^ 3
5 * 10^ 2
6 * 10^ 1
7 * 10^ 0

这可能会有帮助。您可以使用
zip

number = 1234567
totalNum = len(str(abs(number)))
for v, i in zip(str(number), range(totalNum, 0, -1)):
  print(v, "* 10^ ",int(i-1))
输出:

1 * 10^  6
2 * 10^  5
3 * 10^  4
4 * 10^  3
5 * 10^  2
6 * 10^  1
7 * 10^  0

有几种方法可以做到这一点,mine使用
enumerate()
索引字符串:

number = 1234567
number_string = str(number)
totalNum = len(str(abs(number)))

for j,i in enumerate(range(totalNum, 0, -1)):
  print(number_string[j], "* 10^ ", int(i-1))
给出:

1 * 10^  6
2 * 10^  5
3 * 10^  4
4 * 10^  3
5 * 10^  2
6 * 10^  1
7 * 10^  0

enumerate()
遍历一个序列,并给出索引号(
j
)和项(
i
)的元组。

它也起作用了!但到目前为止,我还不能理解这些行string2=['*10^{}。对于zip中的s(string1,string2),在范围(totalNum,0,-1)]>>>中的I的格式(I-1):。。。打印(''.join(s))。你能再解释一下吗?看一看。如果您还有任何疑问,请随时提问。另外,我在
for
循环中做了一个小改动。看一看。我认为这更容易理解。@YashidaKimLeeRoger我认为这应该是公认的答案。这是蟒蛇式的,而且至少肯定比我的更有效。