如果有人写'詹姆斯',我希望我的程序将其名称设为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;
}
答案 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。