Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 把字母p的辅音全部改成辅音_Python_Python 3.x - Fatal编程技术网

Python 把字母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

我需要用字母p替换句子中的所有辅音

我在下面尝试了这段代码,但遗憾的是,它不起作用,我不习惯这个函数(
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。当问问题时,请比“不起作用”更具描述性。代码是否甚至无法开始运行?代码是否关闭了您的计算机?在提出问题时进行描述性描述可以节省人们试图帮助你的大量时间,也可以帮助有类似问题的人在将来找到这个问题。