在python中去掉输出中的字符

2024-05-15 21:29:26 发布

您现在位置: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;
}

Tags: namein程序forleninclude朋友名字
3条回答

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

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

这利用了Python中字符串是iterable的事实。你知道吗

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

在重新发明轮子之前,一定要看看有没有别的方法:p

很简单:

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

编辑:

为了理解它是如何完成的,这里有一个更详细的代码来解释这个概念。你知道吗

name = 'james'

decorated_name = name[0]

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

print decorated_name

相关问题 更多 >