首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我在程序中创建文件时遇到了一个小问题

我在程序中创建文件时遇到了一个小问题
EN

Stack Overflow用户
提问于 2012-10-07 04:38:57
回答 2查看 58关注 0票数 0

我正在写一个程序,让用户输入一些名字,然后用这些名字创建一个文件。我使用的是Python 3.2。

代码语言:javascript
复制
number = eval(input("How many names are there? "))
#Say the user enters 2
outfile = open('names.txt', 'w')

for i in range(number):
    name = input("Enter a name >> ")
#Say the user first enters Bob
#Then the user enters Joe

print (name, file=outfile)
outfile.close()
print ("Names have been written to file")

它是有效的,但有一个问题。现在显示的文件只显示一行:"Joe“。其他名字都不会出现,只出现最后一个。

EN

回答 2

Stack Overflow用户

发布于 2012-10-07 04:40:45

你有这样的代码:

代码语言:javascript
复制
for i in range(number):
    name = input("Enter a name >> ")
#Say the user first enters Bob
#Then the user enters Joe

print (name, file=outfile)

您的print语句应该在循环内..

代码语言:javascript
复制
for i in range(number):
    name = input("Enter a name >> ")
    print (name, file=outfile)
票数 3
EN

Stack Overflow用户

发布于 2012-10-07 04:42:20

缩进!现在编写代码时,语句print (name, file=outfile)将在循环外部执行一次。所以最后一次name被设置为任何值都是剩下的。

要解决此问题,请确保在输入后立即调用写入文件的语句,为此,您应该将其缩进到与输入语句一样深的位置,以便与输入被调用的次数一样多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12763670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档