ул в Int Python 3 - PullRequest
       3

ул в Int Python 3

0 голосов
/ 28 февраля 2019

Я пытаюсь сделать int все элементы в списке, который заполнен входами.Я попробовал эту опцию, и ни одна из них не работает.

initial_price=int(input("Price: "))
purchase_amounts=[initial_price]
while purchase_amounts:
    amount=input("Price: ")
    if amount.lower()=="done":
        break
    else:
        purchase_amounts+=amount

for x in purchase_amounts:
    int(x)

print(purchase_amounts) 

Возврат такой (просто первый элемент int):

Price: 34
Price: 54
Price: 34
Price: done
[34, '5', '4', '3', '4']

Я также пробовал это:

initial_price=int(input("Price: "))
purchase_amounts=[initial_price]
while purchase_amounts:
    amount=input("Price: ")
    if amount.lower()=="done":
        break
    else:
        purchase_amounts+=int(amount)

print(purchase_amounts) 

Но он возвращает эту ошибку:

Price: 34
Price: 65
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-f2b484e3ce61> in <module>()
      8         break
      9     else:
---> 10         purchase_amounts+=int(amount)
     11 
     12 print(purchase_amounts)

TypeError: 'int' object is not iterable

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

В этой строке есть ошибка:

purchase_amounts += int(amount)

Вот как вы должны добавлять элементы в список:

purchase_amounts.append(int(amount))

Теперь ваш список состоит из целых с начала!Для полноты, вот как вы можете преобразовать существующий список строк в целые:

[int(x) for x in purchase_amounts]

Или, альтернативно:

list(map(int, purchase_amounts))
0 голосов
/ 28 февраля 2019

Как насчет этого?

def inputs():
    while True:
        s = input('enter: ')
        if not s:
            break
        yield s

print([int(i) for i in inputs()])

Почему вы можете спросить об ошибке в вашем коде, потому что вы делаете это:

purchase_amounts+=amount

, что эквивалентно этому:

purchase_amounts = [] + 1  # cannot add a list and an int
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...