创建生成整数列表的函数

2024-07-04 08:44:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个函数,它接受一个sentinel值(一个整数),并返回一个整数列表。函数提示用户创建一个整数列表,使用提供的sentinel值作为用户输入的数字 退出列表的创建。答案请尽可能简单,不要使用任何太先进的技术,因为我仍在学习Python,不想跳得太远。。。你知道吗

def createIntList():
    createlist = []
    while myInt != addNum: #having problems around here!!
        myInt = input("What do you want the sentinel to be?")
        addNum = input("Please enter a number, ", myInt, "to stop: ")
    createlist.append(addNum)
    return createlist

Tags: to函数答案用户列表inputdef数字
1条回答
网友
1楼 · 发布于 2024-07-04 08:44:37

这就是iter的真正用途,它可以将不带参数并返回值的函数作为第一个参数,而将通知它何时停止的sentinal值作为第二个参数

def get_int(prompt="Enter a number:"): 
    return input(prompt)

sentinal = input("Enter your sentinal:")
print( list(iter(get_int,sentinal)) )

或者,您可以编写一个方法来接受数据,直到到达sentinal。。。你知道吗

def input_until(prompt,sentinal):
   a = []
   while True:
       tmp = input(prompt)
       if tmp == sentinal: return a
       a.append(tmp)

对现有代码所做的最小更改是

def createIntList():
    createlist = []
    #define both variables before your loop
    myInt = input("What do you want the sentinel to be?")
    addNum = None
    while myInt != addNum: #having problems around here!!
        #dont ask each time for a new sentinal...
        addNum = input("Please enter a number, "+ str(myInt)+ " to stop: ")
        createlist.append(addNum) # append your values inside the list...
    return createlist

相关问题 更多 >

    热门问题