Python 如何将输入的数字保存在文本文件中

Python 如何将输入的数字保存在文本文件中,python,text,Python,Text,创建一个名为Inputed_number.txt的新文件。修改创建的代码,以便将所有有效输入保存在该文件中。 我的代码如下: txt = open("sqroot2_10kdigits.txt") while True: number = input("Enter four digits (q to quit): ") if number.lower() == 'q': break elif len(number)

创建一个名为Inputed_number.txt的新文件。修改创建的代码,以便将所有有效输入保存在该文件中。 我的代码如下:

txt = open("sqroot2_10kdigits.txt")

while True:
    number = input("Enter four digits (q to quit): ")
    if number.lower() == 'q':
        break
    elif len(number) != 4 or not number.isdigit():
        print("Please enter four numbers")
        continue
    pos = txt.find(number)
    if pos > -1:
        print(
            f'The digits {number} appear in the first '
            '10,000 characters of the square root of 2.'
            f'They appear starting on the {pos}th '
            'character after the decimal.'
        )
    else:
        print(
            f'Sorry, the digits {number} do not appear '
            'in the first 10,000 characters of the '
            'square root of 2.'
        )
    
#Make a new file. Please check here

with open('inputted_number.txt.', 'w') as filehandle:
    filehandle.write('3210\n3222\n4771\n')

任何人都可以给我一些关于如何修改制作一个名为Inputed_number.txt的新文件的第二部分的想法。这样所有有效输入都保存在该文件中?(while循环代码没有问题。)非常感谢。

使用有效数字创建列表,并将该列表写入文件末尾:

检查并发现
编号
有效后,您可以
编号
列表中追加
编号

检查下面的代码

with open("sqroot2_10kdigits.txt", 'r') as fp:
    txt = fp.read()
numbers = []
while True:
    number = input("Enter four digits (q to quit): ")
    if number.lower() == 'q':
        break
    elif len(number) != 4 or not number.isdigit():
        print("Please enter four numbers")
        continue
    numbers.append(number)
    pos = txt.find(number)
    if pos > -1:
        print(
            f'The digits {number} appear in the first '
            '10,000 characters of the square root of 2.'
            f'They appear starting on the {pos}th '
            'character after the decimal.'
        )
    else:
        print(
            f'Sorry, the digits {number} do not appear '
            'in the first 10,000 characters of the '
            'square root of 2.'
        )

# Make a new file. Please check here

with open('inputted_number.txt.', 'w') as filehandle:
    filehandle.writelines(numbers)

pos=txt.find(number)AttributeError:“\u io.TextIOWrapper”对象没有属性“find”。。。。嘿如何解决这个错误请,非常感谢!我猜这一行“numbers.append(number)”@ssmanertxt是您案例中的文件读取器对象。您可以使用txt=txt.read()或检查更新后的应答使用txt=txt.read()替换number.append(number)?但是在没有我输入的文件中number@ssssmaner不要更改数字。请检查更新的答案