在python中消除输出中的字符
如果有人写“james”,我希望我的程序将他们的名字命名为j*a*m*e*s 我认为这很简单:在python中消除输出中的字符,python,Python,如果有人写“james”,我希望我的程序将他们的名字命名为j*a*m*e*s 我认为这很简单: for letter in name: print letter+' *', 但我不知道如何在最后摆脱最后一个asterix 我有一个朋友给我展示了C语言…所以我理解了它的基本概念,而不是如何实现它。 C如下: #include <string.h> #include <stdio.h> int main(int argc, char* argv[]) { int i
for letter in name:
print letter+' *',
但我不知道如何在最后摆脱最后一个asterix
我有一个朋友给我展示了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;
}
#包括
#包括
int main(int argc,char*argv[]){
int i;
对于(i=1;i
Python中有一种更简单的方法:
>>> '*'.join('james')
'j*a*m*e*s'
这利用了Python中字符串是可编辑的这一事实。很容易:
name = 'james'
print '*'.join(name)
编辑:
为了理解它是如何完成的,这里有一个更详细的代码来解释这个概念
name = 'james'
decorated_name = name[0]
for letter in name[1:]:
decorated_name = decorated_name + '*' + letter
print decorated_name
在重新发明轮子之前,请始终查看是否有其他方法:p.有没有任何方法可以使用迭代来完成此操作?@Elsavador:上面的方法确实使用迭代(
join
迭代'james'
)的字符。你能澄清一下你的确切意思吗?
>>> "*".join(list("James"))
'J*a*m*e*s'