我正在练习循环。我一直试图弄清楚如何将每个角色打印4次并放在一边,例如:aaaaccccddddcccc。现在返回的res只显示我打印4次的最后一个字符(cccc)。我尝试嵌套for循环,但这对我也没有用。如何连接返回? (或者有另一种方式)
def quad_char(letter):
res = ''
for i in letter:
res = i * 4
return res
print(quad_char('acdc'))
答案 0 :(得分:4)
你快到了!的: - )强>
在每个循环中,您将重新分配给res
,而不是附加到它(在每次迭代时都覆盖res
,基本上)。
尝试:
def quad_char(letter):
res = ''
for i in letter:
res = res + (i * 4)
return res
print(quad_char('acdc'))
可以缩短为:
def quad_char(letter):
res = ''
for i in letter:
res += i * 4
return res
print(quad_char('acdc'))
有关字符串连接的更多信息here。
还值得研究连接字符串here的各种方法的性能。
答案 1 :(得分:0)
将res = i * 4
更改为res += i * 4
答案 2 :(得分:0)
也可以这样做:
def quad_char(letter):
for i in letter:
print ("".join(i*4), end="")
答案 3 :(得分:0)
忘记明确的for
循环并使用带有连接的列表理解
def quad_char(letters):
return ''.join(l*4 for l in letters)