首页 > 解决方案 > 尝试将姓名和年龄写入文本文件

问题描述

我不知道如何,但似乎我的年龄在 while 循环中不断混淆。它也不包括其中一个名称。该循环在 IDE 中工作,但我无法将其正确写入文本文件。

def main():
friendsfile = open('friends.txt', 'w')
name = str(input('Enter first name of friend or Enter to quit : '))

while name != '':
    age = int(input('Enter age of this friend : '))
    name = str(input('Enter first name of friend or Enter to quit : '))
    friendsfile.write(name + '\n')
    friendsfile.write(str(age) + '\n')

friendsfile.close()

print('File was created')

主要的()

当我输入 13 岁的 Justin、20 岁的 Scott 和 14 岁的 Lucy 的名字时,我将其写入文件。

斯科特 13 露西 20

14

标签: loopsfiletext-files

解决方案


问题是name变量在您打印之前得到更新。这应该有效:

while name != '':
    age = int(input('Enter age of this friend : '))
    friendsfile.write(name + '\n')
    friendsfile.write(str(age) + '\n') 
    name = str(input('Enter first name of friend or Enter to quit : '))

推荐阅读