【问题标题】:str to int Python 3str 到 int Python 3
【发布时间】:2019-02-27 22:21:13
【问题描述】:

我正在尝试将列表中的所有元素设置为 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

【问题讨论】:

  • 什么错误?你能告诉我们堆栈跟踪吗?
  • 我刚刚更新了它
  • purchase_amounts 的类型为list,因此此操作无效purchase_amounts+=int(amount)

标签: python string list int


【解决方案1】:

怎么样?

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

【讨论】:

    【解决方案2】:

    这行有个bug:

    purchase_amounts += int(amount)
    

    这就是你应该如何将元素附加到列表中:

    purchase_amounts.append(int(amount))
    

    现在您的列表从一开始就由整数组成!为了完整起见,这是将现有字符串列表转换为整数的方法:

    [int(x) for x in purchase_amounts]
    

    或者:

    list(map(int, purchase_amounts))
    

    【讨论】:

      猜你喜欢
      • 2014-04-23
      • 2011-07-21
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      • 2021-03-11
      • 2021-03-18
      • 1970-01-01
      相关资源
      最近更新 更多