Python 如何将一组循环值作为单个字符串返回
我对编码是新手,上个月我开始学习python。我的朋友给了我这个问题,我被困住了Python 如何将一组循环值作为单个字符串返回,python,loops,for-loop,return,Python,Loops,For Loop,Return,我对编码是新手,上个月我开始学习python。我的朋友给了我这个问题,我被困住了 def gordon(a): x = a.split() result = " " for y in x: c = " ".join((y.upper().replace("A", "@").replace("E", "*").replace("I
def gordon(a):
x = a.split()
result = " "
for y in x:
c = " ".join((y.upper().replace("A", "@").replace("E", "*").replace("I", "*").replace("O", "*").replace("U", "*"))) + "!!!!"
gordon('What feck damn cake')
我想返回的值为
W H@T!!!!F*C K!!!!D@M N!!!!C@K*!!!!
我现在得到的是什么,我找不到解决的办法
W H@T!!!!
F*C K!!!!
D@M N!!!!
C@K*!!!!
必须在循环中打印c。尝试c+=,而不仅仅是c=
在循环外打印c(a):
x=a.split()
结果=[]
对于x中的y:
result.append(
Y
.upper()
.替换(“A”,“@”)
.替换(“E”和“*”)
.替换(“I”,“*”)
.替换(“O”和“*”)
.替换(“U”和“*”)
+ "!!!!"
)
返回“”连接(结果)
戈登(“什么该死的蛋糕”)
为了给您的工作提供一个非常接近的答案,这里是代码中固定的小部分,但最终会导致额外的空间
def gordon(a):
x = a.split()
result = ""
for y in x:
result += " ".join((y.upper().replace("A", "@").replace("E", "*").replace("I", "*").replace("O", "*").replace("U", "*"))) + "!!!! "
print(result)
gordon('What feck damn cake')
为了更好,我们应该使用“result”作为数组来收集每个“c”,并用空格(“”)连接所有的c
您不会在任何地方使用
result
,也不会打印任何内容。请创建一个。事实上,上面的代码没有打印或返回任何内容,它不可能给出您提到的输出。
def gordon(a):
x = a.split()
result = []
for y in x:
c = " ".join((y.upper().replace("A", "@").replace("E", "*").replace("I", "*").replace("O", "*").replace("U", "*"))) + "!!!!"
result.append(c)
print(" ".join(result))
gordon('What feck damn cake')