gpt4 book ai didi

Python 挑战 #2 淘汰赛

转载 作者:行者123 更新时间:2023-11-28 20:43:05 27 4
gpt4 key购买 nike

我用 microsoft word(查找和替换)解决了 python 挑战 #2,但是当我使用 python 时,我失败了,因为这段代码不起作用...

with open("C:\\Python34\\Python Challenge\\Q2\\Q2.txt") as f: 
f = str(f)
f = str.replace(f, '!','')
f = str.replace(f, '@','')
f = str.replace(f, '#','')
f = str.replace(f, '$','')
f = str.replace(f, '%','')
f = str.replace(f, '^','')
f = str.replace(f, '&','')
f = str.replace(f, '*','')
f = str.replace(f, '(','')
f = str.replace(f, ')','')
print(f)

研究:它将打印出该文件的属性。为什么没有信息?而且,我该如何更改它?我尝试了 f.open() 和“f”。在这几个小时内(我想 3 次)我已经多次更改代码,但这段代码仍然无效。

最佳答案

你需要使用f = f.read():

f = str(f) 将显示文件对象的字符串表示形式,类似于:

 <open file 'C:\\Python34\\Python Challenge\\Q2\\Q2.txt"', mode 'r' at 0x7f76a5a26e40>

然后使用str.translate删除字符:

with open("C:\\Python34\\Python Challenge\\Q2\\Q2.txt") as f: 
f = f.read()
f = f.translate(None,"!@#$%&()*^")
print(f)

对于 python 3,我们需要使用字符的 ord 创建一个字典映射来替换并将其传递给翻译:

with  open("C:\\Python34\\Python Challenge\\Q2\\Q2.txt")  as f:
f = f.read()
# {ord(ch):"" for ch in "!@#$%&()*^"}
f = f.translate({64: '', 33: '', 35: '', 36: '', 37: '', 38: '', 40: '', 41: '', 42: '', 94: ''})
print(f)

关于Python 挑战 #2 淘汰赛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29318607/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com