如何连接用户输入和列表

2024-04-26 15:11:24 发布

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

在我的程序中,我接受用户输入(整数1-9),并让用户不断键入数字,直到他们键入0退出。一旦他们键入0,我想打印整数的和,然后退出。我是python新手,所以任何帮助都将不胜感激。使用>;和<;符号时出现无效语法错误不知道原因。你知道吗

  def createList():
         myList=[]
         return myList



  def fillList(myList):
        for number in myList:
            if number >=1 and <= 9:
              number=int(input(" enter a number 1-9, and 0 to quit"))
              myList.append(number)
              return myList


  def printList(myList):
      for number in myList:
          print ( " the sum is" ,sum(myList))
          print(number)
          if number ==0:
              exit()

  def main():
      myList = createList()
      fillList(myList)
      printList(myList)


  main()

Tags: and用户innumberfor键入returnif
3条回答
if number >=1 and number <= 9:

您需要将变量放置在和的两侧,因为它们是两个独立的条件。你知道吗

另外,由于您最初创建的是一个空列表,因此您将永远无法到达获取用户输入的部分。要解决这个问题,应该使用while循环。你知道吗

while number != 0:

完整程序可能如下所示:

def createList():
     myList=[]
     return myList

def fillList(myList):
    number = 5
    while number != 0:
        if number >=1 and number <= 9:
          number=eval(input(" enter a number 1-9, and 0 to quit"))
          myList.append(number)

     return myList


def printList(myList):
  for number in myList:
      print ( " the sum is" ,sum(myList))
      print(number)
      if number ==0:
          exit()

def main():
  myList = createList()
  fillList(myList)
  printList(myList)


main()

你只漏了一个字,试试这个:

if number >=1 and number <= 9:

太近了!你知道吗

_sum = 0
looping = True
while looping: 
    num = input("Enter a number (1-9) or 0 to exit.")
    if num.isdigit() and 0 <= int(num) <= 9:
        _sum += num
        if num is 0:
            looping = False
print("Sum is", _sum)

相关问题 更多 >