1

因此,我基本上是在尝试使它不会继续执行功能,除非您在输入后键入是/否。此功能只会将您的输入添加到列表中。基本上我希望程序让你输入一堆不同的数字,然后在输入它们结束时询问你是否要继续。如果您按“是”,我希望它继续执行该功能,但在我的代码中我做了它,所以每个输入都在一个新的输入行上,而不是在同一个输入行上,所以当我将它附加到列表时,我正在使用一段时间陈述。

如果您需要我进一步澄清,请告诉我。

代码:

next2=input("How many would you like to add? ")
print("")
count = 0
while count < int(next2):
    count = count + 1
    next3=input(str(count) + ". Input: ")
    add(next3)
print("")
check=input("Are you sure? (Y/N) ")
while check not in ("YyYesNnNo"):
    check=input("Are you sure? (Y/N) ")
if check in ("YyYes"):
    home()

功能:

def add(next2):
    numbers.append(next2)
    sort(numbers)

当你运行这个程序时,它应该是这样的:

How many numbers would you like to add? "4"
1. Input: 4
2. Input: 3
3. Input: 2
4. Input: 1

Are you sure? (Y/N): Y

> append the inputs here

如果他们点击否,它会将他们带到我已经设置好的程序的主屏幕。

这就是它现在所做的:

您要添加多少个数字?“4” 1. 输入:“4”

追加到列表 2 输入:“3”追加到列表 3 输入:“2”追加到列表 4 输入:“1”追加到列表 确定吗?(Y/N):“Y”排序列表并显示

4

1 回答 1

2

它会在您输入它们时将它们附加到列表中(在您询问它们是否确定之前),因为您在循环中调用了 add 函数。您想将它们存储在某个临时结构中,并且只有在您检查它们确定之后才添加它们。

next2=input("How many would you like to add? ")
print("")
count = 0
inputs = []
while count < int(next2):
    count = count + 1
    next3=input(str(count) + ". Input: ")
    inputs += [next3]
print("")
check=input("Are you sure? (Y/N) ")
while check not in ("YyYesNnNo"):
    check=input("Are you sure? (Y/N) ")
if check in ("YyYes"):
    for userInput in inputs:
        add(userInput)
else:
    home()
于 2013-10-30T16:11:44.393 回答