【问题标题】:Converting list error how to solved it? Python转换列表错误如何解决? Python
【发布时间】:2022-01-05 10:16:05
【问题描述】:

我编写了减去列表中项目的程序。列表需要从字符串转换为int或float。

我正在使用它来转换列表:

inputuserlist1 = input("  Type your numbers: ")
userlist = inputuserlist1.split()
userlist1 = list(map(int, userlist))

如果列表类似于 ["1", "2"..."34"] 程序运行良好,但如果它看起来像 ["d", "z"] 我的代码有一些错误:

    Traceback (most recent call last):
  File "c:\Users\User\Desktop\Maksymalny Maks\programowanie\test.py", line 47, in <module>
    zadanie4b()
  File "c:\Users\User\Desktop\Maksymalny Maks\programowanie\test.py", line 10, in zadanie4b
    userlist1 = list(map(int, userlist))
ValueError: invalid literal for int() with base 10: 'w'

我正在尝试解决这个问题,但没有什么合适的。我的错误解决方案:

import os
from typing import Literal
inputuserlist1 = input("  Type your numbers: ")
userlist = inputuserlist1.split()
while True:
    try:
        list(map(int, userlist)) = Literal
        ValueError(print("str"))
    except:
        userlist1 = list(map(int, userlist))
        break

print(userlist1)
os.system("pause")

请帮忙

【问题讨论】:

    标签: python python-3.x list compiler-errors


    【解决方案1】:
    import os
    inputuserlist1 = input("  Type your numbers: ")
    userlist = inputuserlist1.split()
    for index,element in enumerate(userlist):
      if element.isnumeric():
        userlist[index] = int(element)
      else:
        del userlist[index]
    print(userlist)
    

    【讨论】:

    • 请记住,Stack Overflow 不仅仅是为了解决眼前的问题,而是为了帮助未来的读者找到类似问题的解决方案,这需要了解底层代码。这对于我们社区的初学者和不熟悉语法的成员来说尤其重要。鉴于此,您能否edit 您的答案包括对您正在做什么的解释以及为什么您认为这是最好的方法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-02
    • 2022-08-24
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 2018-11-26
    • 2022-08-14
    相关资源
    最近更新 更多