python - 如何计算功率?
问题描述
def is_power_of(number, base):
# Base case: when number is smaller than base.
if number < base:
# If number is equal to 1, it's a power (base**0).
return True
# Recursive case: keep dividing number by base.
return is_power_of(number/base , base)
print(is_power_of(8,2)) # Should be True
print(is_power_of(64,4)) # Should be True
print(is_power_of(70,10)) # Should be False
我唯一改变的是True
and number/base , base
。我不知道如何使True
除 !=1 之外的所有情况都为真。
解决方案
由于归结为是否number == 1
,您可以bool
直接返回:
def is_power_of(number, base):
# Base case: when number is smaller than base.
if number < base:
# If number is equal to 1, it's a power (base**0).
return number == 1
# Recursive case: keep dividing number by base.
return is_power_of(number/base , base)
您的测试的输出是:
True
True
False
这是预期的。
推荐阅读
- webrtc - 为什么使用两个以上 STUN/TURN 服务器会减慢发现速度?
- java - 从用户输入向 ArrayList 添加多个作者
- oracle - 在管理员上设置 NLS_DATE_FORMAT
- c# - 如何使用 StringValidator 属性验证值属性的最小和最大长度?
- amazon-web-services - 根据阈值执行 Lambda 函数
- r - 根据另一列中的特定值从一列中获取值并将这些值放入新数据框中
- amazon-s3 - S3 兼容服务上的 HSQLDB
- chef-infra - 数据包“aws_opsworks_instance”不可用
- php - 新的 doctrime ORM 表字段创建器,但它说它仍然没有映射
- google-cloud-platform - Cloud Run 完成,但 Cloud Scheduler 认为该作业已失败