首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于一系列数字的打印

基于一系列数字的打印
EN

Stack Overflow用户
提问于 2022-10-06 23:56:37
回答 2查看 29关注 0票数 0

有困难的打印基于一系列的数字。如何使此命令更有效或更有效?

如果通胀率低于3%,中等通胀率是3%或更高,但低于5%,高通货膨胀率超过5%,但低于10%,任何10%或更高的通货膨胀率都是过高的。

代码语言:javascript
复制
if inf_Rate <= 3:
    print("Type of inflation: Low")
elif inf_Rate in range(3, 5):
    print("Type of inflation: Moderate")
elif inf_Rate in range(5, 10):
    print("Type of inflation: High")
else:
    print(("Type of inflation: Hyper"))
EN

回答 2

Stack Overflow用户

发布于 2022-10-07 00:01:25

如果数字是浮动的,只需使用常规比较,而不是in range()

代码语言:javascript
复制
if inf_Rate < 3:
    inf_type = 'Low'
elif inf_Rate < 5:
    inf_type = 'Moderate'
elif inf_rate < 10:
    inf_type = 'High'
else: 
    inf_type = 'Hyper'
print(f'Type of inflation: {inf_type}')

您不需要测试每个范围的底部,因为条件是按顺序测试的,并且已经排除了较低的值。

而且,你的第一个条件与礼物不符。它应该低于3%,但你的条件包括3%。

票数 3
EN

Stack Overflow用户

发布于 2022-10-07 00:12:23

内置的range只在it上工作,但是定义自己的InflationRateRange类相对容易,其中__contains__封装了链式比较方法。

代码语言:javascript
复制
class InflationRateRange(object):
  def __init__(self, low, high):
    self.low = low
    self.high = high
  def __contains__(self, val):
    return self.low <= val <= self.high

现在你可以使用浮点数了。

代码语言:javascript
复制
2.7 in InflationRateRange(0, 3)
# True
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73981046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档