有一个给定的文件text.txt,其中包含用罗马数字编号的书籍章节。我需要编写一个程序,将给定文件重写为new.txt,其中数字被替换为1到3的常规数字。此外,程序应该询问用户输入数字并打印出该特定章节
def main():
found = False
search=input('Enter a description of a chapter in Roman numerals: ')
new_num = int(input('Enter a new number: '))
text=open('sentence.txt', 'r')
new_file=open('new.txt', 'w')
descr=sentence.readline()
while line!='':
num=float(sentence.readline())
descr = descr.rstrip('\n')
if descr == search: #trying to capture the roman numeral
new_file.write(descr + '\n')
new_file.write(str(new_num) + '\n') #trying to substitute roman numeral with a number
found=True
else:
#writing the original record to the temp file with regular numbers
new_file.write(descr + '\n')
new_file(str(new_num) + '\n')
descr=sentence.readline()
sentence.close()
new_file.close()
if found:
print("The file has been rewritten")
else:
print('Not found')
main()
到目前为止,我试图用“我'到常规号码并将其写入新文件。但是,程序一直给我错误......
有没有办法不要求输入,而是用常规数字替换表示书籍章节的罗马数字,并将其余文本重写为新文件?如何解决这个问题的任何建议都将受到高度赞赏。
答案 0 :(得分:0)
您看到哪些错误?这条线似乎不正确:
new_file(str(new_num) + '\n')
也许应该是:
new_file.write(str(new_num) + '\n')