有一个关于任务的问题。我们需要从数字列表中删除所有负数。这是一个代码示例:
input_number = input("Введите число: ").split()
positive_num = 0
for i in input_number:
if int(i) < 0:
del i
positive_num += 1
print(positive_num)
结果是这样的:
输入数字:1 2 -3 4 -5 -6 7
7
虽然看起来我应该把所有积极的一面展现出来
我们解决这个问题:我们需要从数字列表中删除所有负数。
如果您需要字符串形式的数字列表作为输出,那么您可以保留代码的第一行。
如果您希望输出为numbers形式的数字列表,那么您需要重写,例如,如Zailox的相邻答案中所示
对于您的任务,不需要正数计数器;您可以将其删除。
如果您坚持使用运算符
del(我没有反对它,我会使用方法,但这也是可能的)那么您需要从列表末尾pop()迭代索引,否则在删除元素时索引将失败并且你会得到一个例外。IndexError全部的
如果您满意“数字”将存储为字符串,则:
如果要求“numbers”是numbers,那么:
更容易阅读的版本:
这是正确的代码。
我仍然不明白你在代码中做了什么:出于某种原因你删除了一个变量,设置了一个出于某种原因显示的
i计数器,出于某种原因它将行分成每个字符(你有一个包含空格和减号的列表)分别用数字表示)。该代码似乎来自其他任务。positive_numbersplit