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
如果有人对如何在没有间距的情况下将其打印在同一行上有个想法,我将非常感谢!
答案 0 :(得分:2)
不是每次都打印,而是将结果附加到字符串并打印最终的字符串:
word = input("Translate a word: ")
result = ''
for char in word:
if char not in "aeiouyAEIOUY":
result+=char + "o" + char
else:
result+=char
print(result)
答案 1 :(得分:1)
一种选择是使用列表推导来创建带有您的值的列表:
[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])
答案 2 :(得分:0)
将记录添加到列表中,并将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
答案 3 :(得分:0)
如果要像现在一样使用打印语句,只需尝试下面定义打印语句结尾的打印语句选项即可。
word = input("Translate a word: ")
for char in word:
if char in "BCDFGHJKLMNPQRSTVWXZbcdfghjklmnpqrstvwxz":
print(char + "o" + char,end="")
else:
print(char,end="")
以上代码在输入“ stair”上的输出将为“ sostotairor”。希望对您有帮助!
答案 4 :(得分:-1)
您可以先将列表中的辅音加倍,然后将字符与o
连接起来:
word = input("Translate a word: ")
for char in word.lower():
print('o'.join([char] * ((char not in 'aeiou') + 1)))
示例输入/输出:
Translate a word: stair
sos
tot
a
i
ror