类数据'int'eger是否可以由列表引用,然后'for' x>y 'if'一起使用



我无法通过列表引用类,然后比较所需列表输出的整数。

一些正确引用的例子将不胜感激,或者如果我试图做一些 Python 做不到的事情。

请参阅下面的示例代码:

'''

#creating class
class class1: 
def __init__(self, m, x, y, z): 
self.m = m
self.x = x #int
self.y = y #int
self.z = z #int
#creating list       
list = [] 
compare = []  
# appending instances to list 
list.append( class1( m, x, y, z) )
list.append( class1( m, x, y, z) )
list.append( class1( m, x, y, z) )
#comparison values
a=#int
b=#int
c=#int
#boolean
comparison=True
for obj in list:
if obj.x > a:  
comparison=False
if obj.y > b:
comparison=False
if obj.z > c:
comparison=False
if comparison:
compare.append (obj.m)
else:
print ()
print (compare)

'''

我继续尝试为您清理代码。我想我明白了你最后想用逻辑块做的事情。希望这能做到你想要的。附加到mylist的第一个Class1对象使用全零进行实例化,这将导致所有比较返回 false,因此 -> 0 将附加到compare列表中obj.m- 0

class Class1:
def __init__(self, m, x, y, z):
self.m = m
self.x = x  # int
self.y = y  # int
self.z = z  # int

# creating list
mylist = []
compare = []
# appending instances to list
mylist.append(Class1(0, 0, 0, 0))
mylist.append(Class1(2, 3, 4, 5))
mylist.append(Class1(3, 4, 5, 6))
# comparison values
a = 1
b = 2
c = 3
# boolean
# I cleaned up the logic. Hopefully it's easier to understand
for obj in mylist:
comparison = False
if obj.x > a or obj.y > b or obj.z > c:
comparison = True
if not comparison:
compare.append(obj.m)
print("All comparisons were false")
else:
print("At least one comparsion is true")
print(compare)

相关内容

最新更新