как подключить пользовательский ввод и списки - PullRequest
0 голосов
/ 19 ноября 2018

В моей программе я принимаю пользовательский ввод (целые числа 1-9) и заставляю пользователя продолжать вводить цифры, пока они не наберу 0 для выхода. как только они напечатают 0, я хочу напечатать сумму целых чисел и затем выйти. Я новичок в Python, поэтому любая помощь будет оценена. Я получаю недопустимую синтаксическую ошибку при использовании символов> и <, не знаю почему. </p>

  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()

Ответы [ 3 ]

0 голосов
/ 19 ноября 2018

Вам не хватает только слова, попробуйте это:

if number >=1 and number <= 9:

Так близко!

0 голосов
/ 19 ноября 2018
_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)
0 голосов
/ 19 ноября 2018
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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...