重复附加到列表的功能

时间:2017-04-30 19:37:09

标签: python-2.7

我该如何解释......

我是Python新手,目前使用最新版本的Python 2.

我正在编写(或尝试编写)一个记录作品的程序,并将作品添加到列表中。我的目的是反复提示用户添加产品,直到他们选择“否”,之后程序应该继续下一阶段。

到目前为止,我已经定义了一个函数,询问用户是否要记录生产,然后询问生产名称,描述和结果。然后使用用户的输入更新相应的列表。

我失败的地方是我无法获取程序然后询问用户是否要添加其他作品,然后如果他们选择“否”则关闭循环。

这是我的代码:

locus = raw_input('Enter location where statement compiled: ')
colleague = raw_input('Enter name of corroborating officer: ')
productions = []
descriptions = []
result = []

def logger():
    log = raw_input('Would you like to log a production? Y or N: ')
    if log == 'Y' or 'y':
        new_production = raw_input('ENTER NAME OF PRODUCTION: ')
        productions.append(new_production)  
        new_description = raw_input('ENTER DESCRIPTION OF PRODUCTION: ') 
        descriptions.append(new_description)
        new_result = raw_input('ENTER SUMMARY OF CONTENTS FOUND: ')
        result.append(new_result)
        print new_production
        print new_description
        print new_result    
        return True
    else:
        return False

logger()

while True:
    finished = raw_input('Do you want to submit another? Y or N: ')
    if finished == 'Y' or 'y':
        logger()
    else:
        return False

提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

while True:
    inp = raw_input('Would you like to enter a new log? Y or N: ')
    if inp.lower() == "y":
        # do your required functions to create a log in here
        # or you could call logger(), as long as you modify it appropriately
        new_production = raw_input('ENTER NAME OF PRODUCTION: ')
        ...
        print new_description
        print new_result    
    elif inp.lower() == "n":
        break
    else:
        print "invalid response" 

如果您想要解释任何一个,请告诉我们!