当前位置: 首页 > 知识库问答 >
问题:

什么是PyCharm"简化链式比较"

冯渝
2023-03-14

我有以下功能,PyCharm正在提醒我关于“简化链式比较”的elif语句。代码工作,我得到了我想要的对象,只是想知道警告以及如何使其更好?

     def preferred_contacts(self):
         x = random.randint(0, 100)
         email = u'E'
         text = u'M'
         phone = u'P'
         letter = u'L'
         none = u'N'

         if x < 25:
            return email
         elif x >= 26 and x <= 50:
            return text
         elif x >= 51 and x <= 75:
            return phone
         elif x >= 76 and x <= 100:
            return letter
         else:
            return none

共有2个答案

季森
2023-03-14

简化了链式调用,代码更加简洁。见下文

def preferred_contacts(self):
x = random.randint(0, 100)
email = u'E'
text = u'M'
phone = u'P'
letter = u'L'
none = u'N'

if x < 25:
    return email
elif 26 <= x <= 50: # reads as "x is between 26 and 50, inclusive
    return text
elif 51 <= x <= 75: # reads as "x is between 51 and 75, inclusive
    return phone
elif 76 <= x <= 100: # reads as "x is between 76 and 100, inclusive
    return letter
else:
    return none
欧阳声
2023-03-14

@mhlester应该因为注意到您可以删除

return ('E', 'M', 'P', 'L', 'N')[x / 25] # This assumes x has an upper bound of 124 or less.

当然,在这种情况下,你可以让你的生活变得更简单。

return random.choice(('E', 'M', 'P', 'L', 'N'))

 类似资料:
  • 我有两个整数值和,我写以下语句: 此语句带有下划线,工具提示告诉我必须: 简化链式比较 据我所知,这种比较几乎和它们来的一样简单。我错过了什么? 这个问题和链接有点不同,比较起来有不同的变量。

  • 我正在用PyCharm编写一些python代码。当我编写以下测试时,它给了我一个警告。

  • 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

  • 本文向大家介绍什么是区块链?相关面试题,主要包含被问及什么是区块链?时的应答技巧和注意事项,需要的朋友参考一下 区块链是不间断的经济交易数字分类帐,可以进行编程,以记录不仅是金融交易,还可以记录几乎所有有价值的东西。简单来说,它是一个不可变记录的分散式分布式数据库,该数据库由计算机集群管理,但不属于任何单个实体。区块链存储为数据库或平面文件。

  • 主要内容:比特币如何运作?比特币是由Satoshi Nakamoto 在2008年推出的。比特币是一种加密货币(虚拟货币),或者是一种使用密码学规则来监管和生成货币单位的数字货币。比特币属于加密货币的范畴,成为其中第一个也是最有价值的。它通常被称为分散数字货币。 比特币是一种数字资产,可以通过互联网安全地在双方之间进行买卖,转让。比特币可以用来存储价值,就像精金,白银和其他一些类型的投资一样。我们还可以使用比特币购买产品和

  • 在C 14中,关联容器似乎从C 11-[associative.reqmts]/13改为: 成员函数模板、、、和不得参与重载解析,除非类型。 让一个比较国“透明”的目的是什么? C 14还提供如下库模板: 例如,