清少呐 发表于 2022-1-9 18:19:02

如何用三元运算符简化这段代码



if box == 0:
       box_x,box_y,box_z = self.box1,self.box1,self.box1
 if box == 1:
            box_x,box_y,box_z = self.box2,self.box2,self.box2
        if box == 2:
            box_x,box_y,box_z = self.box3,self.box3,self.box3


kogawananari 发表于 2022-1-9 18:19:03

box_x,box_y,box_z,*res = getattr(self, f'box{box+1}')

清少呐 发表于 2022-1-9 18:19:52

本帖最后由 清少呐 于 2022-1-9 18:21 编辑

if box == 0:
        box_x,box_y,box_z = self.box1,self.box1,self.box1
if box == 1:
        box_x,box_y,box_z = self.box2,self.box2,self.box2
if box == 2:
        box_x,box_y,box_z = self.box3,self.box3,self.box3

清少呐 发表于 2022-1-9 18:22:00

清少呐 发表于 2022-1-9 18:19
if box == 0:
        box_x,box_y,box_z = self.box1,self.box1,self.box1
if box == 1:


上面的没弄好,这个是代码

傻眼貓咪 发表于 2022-1-9 18:29:51

box_x, box_y, box_z = self.box1, self.box1, self.box1 if not box else self.box2, self.box2, self.box2 if box < 2 else self.box3, self.box3, self.box3

傻眼貓咪 发表于 2022-1-9 18:32:56

a = int(input("输入一个整数:"))
b = "a 大于零" if a > 0 else "a 小于零" if a < 0 else "a 等于零"
print(b)

清少呐 发表于 2022-1-10 10:45:25

kogawananari 发表于 2022-1-9 23:35
box_x,box_y,box_z,*res = getattr(self, f'box{box+1}')

self.box1, self.box1, self.box1 这个值如何赋值给box_x,box_y,box_z 呢

kogawananari 发表于 2022-1-10 11:22:45

清少呐 发表于 2022-1-10 10:45
self.box1, self.box1, self.box1 这个值如何赋值给box_x,box_y,box_z 呢

這不是已經賦值了嘛

類似於
a, b, *res =

页: [1]
查看完整版本: 如何用三元运算符简化这段代码