使用greather/less than运算符时遇到问题..(初学者)



我正在尝试创建一个函数,该函数通过10个用户输入整数的列表来测试它们是否大于用户输入的数字。

我的代码:

def displaylarger():
global n
global inLst
count = 0
greater = [i for i in inLst if n < i]
print(greater)

这是一个类,它要求我使用这些数字作为用户输入[23','67','8','90','56','45','38','69','30','68']

我想用"40"测试它们

但当我输入数字时,结果是:['67','8','90','56','45','69','68']

我不明白为什么我的代码一直在检查第三个元素是否大于40。

我尝试过使用if和else语句,但它们产生了相同的结果。老实说,我很困惑为什么第三个元素总是出现在输出中。

您需要将字符串转换为int。这可以如下所示:

strNum = "1"
num = int(strNum) # Turns string to int

因此,将您的代码更改为:

def displaylarger():
global n # N needs to be int
global inLst
count = 0
greater = [int(i) for i in inLst if int(n) < int(i)]
print(greater)

最后,在比较类的def __gt__(self, other)方法中定义的相同类型的两个对象时,在Python中添加一些上下文。点击此处了解更多信息(https://www.journaldev.com/23511/python-string-comparison)

最新更新