Python 把字母p的辅音全部改成辅音
我需要用字母p替换句子中的所有辅音 我在下面尝试了这段代码,但遗憾的是,它不起作用,我不习惯这个函数(Python 把字母p的辅音全部改成辅音,python,python-3.x,Python,Python 3.x,我需要用字母p替换句子中的所有辅音 我在下面尝试了这段代码,但遗憾的是,它不起作用,我不习惯这个函数(str.replace()),我正在开始python课程 x=str(输入()) y=x.split() cons=“bcdfghjklmnpqrstvwxyz” 如果y中有反对意见: x、 替换(cons,“p”) 打印(y) 您需要做的是在cons变量中的每个字母上循环,并尝试替换它。我应该指出,str.replace()方法不起作用,因此您必须将结果分配回x: ... for c in c
str.replace()
),我正在开始python课程
x=str(输入())
y=x.split()
cons=“bcdfghjklmnpqrstvwxyz”
如果y中有反对意见:
x、 替换(cons,“p”)
打印(y)
您需要做的是在cons
变量中的每个字母上循环,并尝试替换它。我应该指出,str.replace()
方法不起作用,因此您必须将结果分配回x
:
...
for c in cons:
x = x.replace(c, 'p')
您说您是Python新手。在上面的代码中,
for
循环将循环字符串中的每个字母,并且在每次“迭代”时,变量c
被设置为字符串中的下一个字母 if cons in y
测试cons
中的整个字符串是否是y
的元素之一。但是y
的元素都是单个字符,而不是长字符串
您需要在y
中的每个字符上循环,然后测试该字符是否在cons
中
for index, letter in enumerate(y):
if letter in cons:
y[index] = 'p'
x = "".join(y)
print(x)
或者您可以循环使用cons
并替换x
中的每个字母。您需要将x.replace
的结果分配回x
;Python中的字符串是不可变的,因此它返回一个新字符串,而不修改原始字符串
for letter in cons:
x = x.replace(letter, "p")
print(x)
您还可以使用正则表达式一步完成整个操作:
import re
x = re.replace(r'[bcdfghjklmnpqrstvwxyz]', 'p', x)
print(x)
顺便说一句,您不需要编写
str(input())
input()
在Python3中总是返回一个字符串。为什么在每个循环中都打印y
,您甚至不必触摸y
一次
y
完全独立于x
。执行y=x.split()
时,将创建一个新列表,并由y
引用。x
和y
之间将不再存在链接
此外,y中的cons
将测试整个cons
字符串是否包含在y
中
您可以使它变得更简单,无需创建y
<代码>替换可以直接对字符串进行操作
x = input()
cons = "bcdfghjklmnpqrstvwxyz"
for con in cons:
x = x.replace(con, "p")
print(x)
你可以找到字符串中出现的辅音,并用p替换它们。循环浏览辅音列表并运行
replace
。如果字符串中存在辅音,它将替换它
x = str(input())
cons="bcdfghjklmnpqrstvwxyz"
for elem in cons:
x = x.replace(elem, p)
print(x)
大家好,欢迎来到Stack Overflow。当问问题时,请比“不起作用”更具描述性。代码是否甚至无法开始运行?代码是否关闭了您的计算机?在提出问题时进行描述性描述可以节省人们试图帮助你的大量时间,也可以帮助有类似问题的人在将来找到这个问题。