鱼C论坛

 找回密码
 立即注册
查看: 2350|回复: 7

[已解决]如何用三元运算符简化这段代码

[复制链接]
发表于 2022-1-9 18:19:02 | 显示全部楼层 |阅读模式
10鱼币
if box == 0:
       box_x,box_y,box_z = self.box1[0],self.box1[1],self.box1[2]
 if box == 1:
            box_x,box_y,box_z = self.box2[0],self.box2[1],self.box2[2]
        if box == 2:
            box_x,box_y,box_z = self.box3[0],self.box3[1],self.box3[2]

最佳答案
2022-1-9 18:19:03
box_x,box_y,box_z,*res = getattr(self, f'box{box+1}')

最佳答案

查看完整内容

box_x,box_y,box_z,*res = getattr(self, f'box{box+1}')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-9 18:19:03 | 显示全部楼层    本楼为最佳答案   
box_x,box_y,box_z,*res = getattr(self, f'box{box+1}')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-1-9 18:19:52 | 显示全部楼层
本帖最后由 清少呐 于 2022-1-9 18:21 编辑

if box == 0:
        box_x,box_y,box_z = self.box1[0],self.box1[1],self.box1[2]
if box == 1:
        box_x,box_y,box_z = self.box2[0],self.box2[1],self.box2[2]
if box == 2:
        box_x,box_y,box_z = self.box3[0],self.box3[1],self.box3[2]
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-1-9 18:22:00 | 显示全部楼层
清少呐 发表于 2022-1-9 18:19
if box == 0:
        box_x,box_y,box_z = self.box1[0],self.box1[1],self.box1[2]
if box == 1:

上面的没弄好,这个是代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-9 18:29:51 | 显示全部楼层
  1. box_x, box_y, box_z = self.box1[0], self.box1[1], self.box1[2] if not box else self.box2[0], self.box2[1], self.box2[2] if box < 2 else self.box3[0], self.box3[1], self.box3[2]
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-9 18:32:56 | 显示全部楼层
  1. a = int(input("输入一个整数:"))
  2. b = "a 大于零" if a > 0 else "a 小于零" if a < 0 else "a 等于零"
  3. print(b)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 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[0], self.box1[1], self.box1[2] 这个值如何赋值给box_x,box_y,box_z 呢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-10 11:22:45 | 显示全部楼层
清少呐 发表于 2022-1-10 10:45
self.box1[0], self.box1[1], self.box1[2] 这个值如何赋值给box_x,box_y,box_z 呢

這不是已經賦值了嘛

類似於
a, b, *res = [1,2,3,4,5]

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-24 12:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表