摆脱python中的输出中的字符

时间:2011-10-05 10:35:36

标签: python

如果有人写'詹姆斯',我希望我的程序将其名称设为j * a * m * e * s 我认为这很简单:

for letter in name:
 print letter+' *',

但我不知道如何在最后摆脱最后一个星号。

我有一个朋友在C中给我看...但所以我理解了潜在的概念,而不是如何实现它。 C如下:

#include <string.h>
#include <stdio.h>

int main(int argc, char* argv[]) {
  int i;

  for ( i = 1; i < argc; i++ ) {
    int len = strlen(argv[i]);
    int j;

    for (j = 0; j < len-1; j++)
      printf("%c*",argv[i][j]);

    printf("%c\n",argv[i][j]);
  }

  return 0;
}

3 个答案:

答案 0 :(得分:8)

Python中有一种更简单的方法:

>>> '*'.join('james')
'j*a*m*e*s'

这利用了这样一个事实:在Python中,字符串是可迭代的。

答案 1 :(得分:2)

很简单:

name = 'james'
print '*'.join(name)

修改

要理解它在这里完成的是一个更详细的代码来解释这个概念。

name = 'james'

decorated_name = name[0]

for letter in name[1:]:
    decorated_name = decorated_name + '*' + letter

print decorated_name

答案 2 :(得分:0)

>>> "*".join(list("James"))
'J*a*m*e*s'

在重新发明轮子之前,一定要看是否还有另一种方法:P。