我的循环不起作用

时间:2015-12-08 23:25:21

标签: python

这是我的代码:

name = raw_input("Title:")
Author = raw_input("Author:")

file = open(name+'.txt', 'a')
file.write("Title:" + name + "\n" + "Author:" + Author + "\n")

除非您输入'x'

,否则此部分应询问连续内容
Contents = raw_input
while Contents != "x":
Contents = raw_input("Content:")
file.write(Contents+"\n")
if Contents != "x":
    break
file.close()

此部分应打开文本并阅读文件并获取内容中元音的总数:

p = 0
file = open(name+'.txt')
j = file.read()
for i in Contents:
    if i in "aeiouAEIOU":
        p += 1
print p
file.close()

2 个答案:

答案 0 :(得分:1)

如果用户没有输入X,您就会退出循环。

if Contents != "x":
    break

您可以完全删除这两行,因为即使您修复它们,它们也只会复制while循环的行为。

您还需要交换以下两行:

Contents = raw_input("Content:")
file.write(Contents+"\n")

您正在使用经典"启动阅读"在循环之前,因此您应该在提示更多之前编写该数据。否则你将丢失你输入的第一行。

答案 1 :(得分:0)

将用户输入的读数更改为:

Contents = ''
while user_input != "x":
    Contents = raw_input("Content:")
    file.write(Contents+"\n")
file.close()

计算Content中的元音:

count = 0
for char Content:
    if char in "aeiouAEIOU": 
        count += 1

读取文件并计算元音:

count = 0
with open(name+'.txt') as fobj:
    for char in fobj.read():
        if char in "aeiouAEIOU":
            count += 1
print count