无法解析无法将'int'对象转换为隐式str

时间:2019-07-12 18:22:54

标签: python-3.x

我正在尝试解决此问题,在此问题中将采用某些数字并将其附加到列表中。 之后,我希望看到第一个元素小于下一个元素(如果是),然后将其从列表中删除。 但是在比较过程中会引发此错误。 我是python新手,不知道如何解决这个问题

我试图以其他方式获取输入,但仍然无法解决。

n=int(input())
l = []
m=input().split()
l.append(m)
print(m)
for i in m:
    j=i+1
    if i<j:
        m.remove(i)
    print(m)

它显示给定的错误:

Traceback (most recent call last):
  File "main.py", line 7, in <module>
    j=i+1
TypeError: Can't convert 'int' object to str implicitly

2 个答案:

答案 0 :(得分:0)

在不知道您的输入的情况下,我可以告诉您m的元素是字符串。 input()的返回类型是一个字符串,并且您已经在m中创建了一个字符串列表。您可以执行j = int(i) + 1来使该行代码正常工作,但是要解决整体问题,您还有很多工作要做。在上述情况下,i<j的总评估结果为True

答案 1 :(得分:0)

m = input().split()返回字符串的可迭代值,并用空格分隔。如果这些是整数,则必须将其转换为整数。做:

n=int(input())
l = []
m=input().split()
l.append(m)
print(m)
for i in m:
    j=int(i)+1  # i is cast to an integer
    if i<j:
        m.remove(i)
    print(m)