我正在尝试解决此问题,在此问题中将采用某些数字并将其附加到列表中。 之后,我希望看到第一个元素小于下一个元素(如果是),然后将其从列表中删除。 但是在比较过程中会引发此错误。 我是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
答案 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)