Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 附加到列表的重复函数_Python 2.7 - Fatal编程技术网

Python 2.7 附加到列表的重复函数

Python 2.7 附加到列表的重复函数,python-2.7,Python 2.7,我该怎么解释这个 我是Python新手,目前正在使用最新版本的Python 2 我正在编写(或试图编写)一个程序,记录产品并将产品添加到列表中。我的目标是反复提示用户添加产品,直到他们选择“否”,然后程序应进入下一阶段 到目前为止,我已经定义了一个函数,询问用户是否要记录生产,然后询问生产名称、描述和结果。然后使用用户的输入更新相应的列表 我失败的地方是,我无法让程序询问用户是否要添加另一个产品,如果他们选择“否”,则关闭循环 这是我的密码: locus = raw_input('Enter l

我该怎么解释这个

我是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

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

您可以尝试以下方法:

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" 

如果你想解释一下,请告诉我

您可以尝试以下方法:

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" 

如果你想解释一下,请告诉我

这似乎是完美的工作,这正是我所追求的-你能给我反馈,我哪里出了错或任何其他建议重新我的编码上面?谢谢。你写循环的方式还不错,只是可能不够简洁。此外,当试图停止运行循环时,您应该
中断
。以前,看起来您正在执行
返回False
——但只有函数才能返回值。这对循环也没有影响。否则,剩下的代码就相当不错了!很高兴我能帮上忙,如果这是您要找的,请务必将答案标记为正确(绿色勾选)!这似乎是完美的工作,这正是我所追求的-你能给我反馈,我哪里出了错或任何其他建议重新我的编码上面?谢谢。你写循环的方式还不错,只是可能不够简洁。此外,当试图停止运行循环时,您应该
中断
。以前,看起来您正在执行
返回False
——但只有函数才能返回值。这对循环也没有影响。否则,剩下的代码就相当不错了!很高兴我能帮上忙,如果这是您要找的,请务必将答案标记为正确(绿色勾选)!