如何合并这些打印报表?

2024-04-20 09:16:01 发布

您现在位置:Python中文网/ 问答频道 /正文

word = input("Translate a word: ")
for char in word:
    if char in "BCDFGHJKLMNPQRSTVWXZbcdfghjklmnpqrstvwxz":
        print(char + "o" + char)
    else:
        print(char)

我有一个翻译语言的代码,在每个辅音后面加一个“o”,然后再加上同一个辅音。当我运行它并键入例如“stair”时,它会打印出来:

sos
tot
a
i
ror

如果有人有一个想法,如何打印在同一行没有间距,我会非常感激!你知道吗


Tags: 代码in语言forinput键入ifelse
3条回答

不要每次都打印,而是将结果附加到字符串并打印最后一个字符串:

word = input("Translate a word: ")
result = ''
for char in word:
    if char not in "aeiouyAEIOUY":
        result+=char + "o" + char
    else:
        result+=char
print(result)

将记录添加到列表中,并使用print函数和*打印同一行中的记录。你知道吗

word = input("Translate a word: ")
data = []  #create a empty list
for char in word:
    if char in "BCDFGHJKLMNPQRSTVWXZbcdfghjklmnpqrstvwxz":
        data.append(char + "o" + char)  #add elements to list
    else:
        data.append(char)  #add elements to list

print(*data, sep='')  #print list elements in single line without spaces

一种方法是使用列表理解创建一个包含您的值的列表:

[char+'o'+char if char in "BCDFGHJKLMNPQRSTVWXZbcdfghjklmnpqrstvwxz" else char for char in word]

如果你需要把它们组合成一个字符串,你只需要使用join()

''.join([char+'o'+char if char in "BCDFGHJKLMNPQRSTVWXZbcdfghjklmnpqrstvwxz" else char for char in word])

相关问题 更多 >