从文本文件复制行删除格式Python

2024-04-30 03:08:58 发布

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

我试图从一个文件中读取文本,然后从用户的输入中打印出相应的莎士比亚十四行诗。[如果用户输入1,则打印十四行诗1,等等]。在

我有下面的代码函数,但是,我希望答案没有所有的格式

'def serve_poem():
    sonnet=open(r"C:\Users\Emily\Documents\sonnets.txt", "r")
    x=int(input("Please enter a number 1-7:"))
    s=sonnet.readlines()
    s=list(s)
    if x==1:
        print(s[2:16])
    if x==2:
        print(s[21:35])
    if x==3:
        print(s[40:54])
    if x==4:
        print(s[59:73])
    if x==5:
        print(s[78:92])
    if x==6:
        print(s[97:111])
    if x==7:
        print(s[116:130])
    else:
        print("The number you entered is not between 1-7. Please enter 1-7:")
serve_poem()'

(也就是说,我的回报是这样的:)

“我们希望从最美丽的生物身上增加,”“这样美丽的玫瑰就永远不会凋谢,”“但是随着时间的流逝,”“他的温柔的继承人可能会记住他的记忆:”“但是,你与你自己的明亮的眼睛相约,”“用自己丰盛的燃料喂养你的光明之火,”“在富饶之地制造饥荒,\“你自己是你的敌人,对你可爱的自己太残忍了,”“你现在是世界上新的装饰物,”“只预示着花哨的春天,”“在你自己的花苞里,把你的心满意足都埋没了,”“还有,温柔的小人,在吝啬中浪费时间,”“可怜这个世界吧,否则这个贪食的人就要吃这个世界应得的东西了。”,在坟墓和你身边。']''

(而不是这样:)

''从最美丽的生物中我们渴望增加, 因此美丽的玫瑰永不凋谢, 但随着时间的流逝, 他那温柔的继承人也许会记住他: 但你对自己明亮的眼睛, 给你的光之火以自我充实的燃料, 在富足之地制造饥荒, 你的自己是你的敌人,对你那可爱的自己太残忍了 你现在是世界的新装饰品, 只是花哨的春天的预兆, 在你自己的蓓蕾里埋葬你的满足, 温柔的小人,吝啬的浪费: 可怜这个世界,否则这个贪吃的人, 吃了这个世界应得的东西,坟墓和你

很抱歉篇幅太长,但以下是原始文本文件:

我们渴望从最美丽的生物身上增加, 因此美丽的玫瑰永不凋谢, 但随着时间的流逝, 他那温柔的继承人也许会记住他: 但你对自己明亮的眼睛, 给你的光之火以自我充实的燃料, 在富足之地制造饥荒, 你的自己是你的敌人,对你那可爱的自己太残忍了 你现在是世界的新装饰品, 只是花哨的春天的预兆, 在你自己的蓓蕾里埋葬你的满足, 温柔的小人,吝啬的浪费: 可怜这个世界,否则这个贪吃的人, 吃了世界应得的,由坟墓和你。在

二。在

当四十个冬天围困你的额头, 在你美丽的田野里挖深沟, 你年轻时引以为傲的制服现在正凝视着你, 将是一株价值不高的摇摇欲坠的杂草: 有人问你,你的美在哪里, 在那里你所有的宝藏都在那里; 说,在你深陷的眼睛里, 是一种吃不饱的羞耻和吝啬的赞美。 你的美貌更值得赞美, 如果你能回答我这个漂亮的孩子 我要把我的数目加起来,做我以前的借口,' 用你的继承证明他的美丽! 当你老了,这将是新的, 当你感到冷的时候,看看你的血液是温暖的。在

看看你的杯子,告诉你看到的那张脸 现在是时候让脸变成另一张了; 如果你现在不更新的话, 你是在欺骗世界,一个不折不扣的母亲。 因为她在哪里如此美丽,她的子宫是如此的美丽 鄙视你的耕作? 或者他这么喜欢谁会是坟墓 他的自爱,阻止后人? 你是你母亲的玻璃,她在你心中 回想起她最美好的四月; 所以你从你这个年纪的窗户里可以看见, 尽管有皱纹,这是你的黄金时代。 但如果你还活着,记得不要活着, 一个人死去,你的形象也会随之死去。在

不洁的可爱,你为什么要花 你美丽的遗产就在你自己身上? 大自然的遗赠没有给予任何东西,但会借出, 坦率地说,她借给那些自由的人: 那么,漂亮的吝啬鬼,为什么要这么做你的虐待 给你慷慨的款待? 无利可图的高利贷者,你为什么使用 这么多钱,却不能活下去? 因为你和你自己单独来往, 你的自我,你的可爱的自我欺骗了你: 当大自然召唤你离开时, 你能留下什么可以接受的审计? 你那无用的美丽一定会与你同在, 它,曾经,活在遗嘱执行人。在

那些时间,那些用温柔的工作做框架 每一只眼睛都栖息的美丽凝视, 也会扮演暴君 以及公平的不公平; 因为从不休息的时间会导致夏天的到来 到了可怕的冬天,把他弄糊涂了; 树液被霜冻住了,鲜嫩的叶子也不见了, 到处都是雪白和赤裸: 那么夏天的精华就没有了, 一个被关在玻璃墙里的流质囚犯, 美与美的作用被剥夺了, 也不记得它,也不记得它是什么: 但是蒸馏出来的花,虽然与冬天相遇, 不要吝惜他们的表演;他们的物质仍然活得甜美。在

那就别让冬天的破手弄脏, 在你的夏日里,你还没有被蒸馏: 做些甜的小瓶,珍惜一些地方 带着美丽的宝藏在它自尽之前。 高利贷不是禁止使用的, 它使那些愿意偿还贷款的人感到幸福; 那是为了让你自己繁殖另一个你, 或者十倍的快乐,或者十倍于一的快乐; 你自己比现在快乐十倍, 如果你的十次中有十次使你复活: 那么如果你离开,死亡又能做什么呢, 把你留在后代? 不要任性,因为你太公平了 成为死亡的征服,让虫子成为你的继承人。在

七。在

瞧!在东方的时候 抬起他燃烧的头,每一个都在眼睛下面 向他新出现的景象致敬, 以神色侍奉陛下; 爬上了陡峭的天山, 像他中年时强壮的青年, 然而凡人的容貌依然爱慕他的美丽, 参加他的黄金朝圣: 但是当从最高的球场,在疲惫的车里, 他像衰弱的年纪,从白昼发昏, 他们的眼睛,从前是尽职的,现在是皈依的 从他的下半身,看另一个方向: 所以你,你自己在中午离开 除非你有一个儿子,否则你不会死的。在


Tags: if公平时间世界生物眼睛print燃料
2条回答

问题在于你正在打印一个列表。你想打印列表中的元素。因此,代替打印(s[2:16]),您可以: 对于范围内的i(2:17): 打印(s[i])

因为十四行诗似乎间隔均匀,我还建议删除ifs,并创建一个返回正确范围的函数。看起来像是2+14*(十四行诗十一进制-1)到2+14*(十四行诗十一行数字-1)+14。这样,您就可以使用一个if语句来检查num是否为1<;=n<;=7。在

这可能是因为打印的是字符串列表而不是字符串。要获取列表并将其转换为字符串,请使用^{}

' '.join(["Hi","I","am","Bob")

会产生:

^{pr2}$

因为它们包含readlines中的新行,所以您需要在一个空字符串''.join(sonnet_lines)上联接。在

你可能会希望在打印电话中看到这个:

if x==1:
    print(''.join(s[2:16]))

还应该提到,为了构建字符串,您应该尝试join列表,而不是将它们与+连接起来。在

相关问题 更多 >