【发布时间】:2019-02-13 23:10:15
【问题描述】:
我正在尝试运行一个 for 循环,每次迭代时都会添加一个空格,以便文本形成对角线,但我找不到迭代器的整数值
我尝试了以下方法:
for x in string:
print(" "*x+x)
但这会引发错误,因为 x 是字符串,而不是数字。我也试过:
for x in string:
print(" "*string.find(x)+x)
但是当字符串中的字符重复时,您当然会得到该字符的第一个实例的空格数。
是否可以访问迭代器的实际整数值,以便我可以乘以空格?
我尝试过的代码解决方案
for x in string:
print(" "*x+x)
和
for x in string:
print(" "*string.find(x)+x)
第一个代码产生 TypeError: can't multiply sequence by non-int of type 'str'
第二个代码产生
o
l
d
m
a
c
d
o
n
a
l
d
h
a
d
a
f
a
r
m
【问题讨论】:
-
使用
enumerate,如for c,x in enumerate(string)。c是x在string中的索引。 -
当你得到解决方案时,请记得给有用的东西投票并接受你最喜欢的答案(即使你必须自己写),这样 Stack Overflow 才能正确存档问题。跨度>