Python循环练习

时间:2016-10-29 21:55:23

标签: python loops

我正在练习循环。我一直试图弄清楚如何将每个角色打印4次并放在一边,例如:aaaaccccddddcccc。现在返回的res只显示我打印4次的最后一个字符(cccc)。我尝试嵌套for循环,但这对我也没有用。如何连接返回? (或者有另一种方式)

def quad_char(letter):
  res = ''
  for i in letter:
    res = i * 4
  return res

print(quad_char('acdc'))

4 个答案:

答案 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)