检查数字在七段显示器中显示的镜像是否相同 (Python)


假设我们有一个数字 n。我们必须检查当它在七段显示器上显示时,该数字的镜像图像是否与给定数字相同。

因此,如果输入类似于 n = 818,则输出将为 True。

镜像图像相同。

为了解决这个问题,我们将遵循以下步骤:

  • num_str := 将 n 转换为字符串
  • 对于 i 从 0 到 num_str 的大小 - 1,执行:
    • 如果 num_str[i] 不是 ['0', '1', '8'] 中的任何一个,则
      • 返回 False
  • left := 0
  • right := num_str 的大小 - 1
  • 当 left < right 时,执行:
    • 如果 num_str[left] 与 num_str[right] 不相同,则
      • 返回 False
    • left := left + 1
    • right := right - 1
  • 返回 True

示例

让我们看看下面的实现以更好地理解:

实时演示

def solve(n):
   num_str = str(n)
   for i in range(len(num_str)):
      if num_str[i] not in ['0', '1', '8']:
         return False
   left = 0
   right = len(num_str) - 1
   while left < right:
      if num_str[left] != num_str[right]:
         return False
      left += 1
      right -= 1
   return True
n = 818
print(solve(n))

输入

818

输出

True

更新于:2021年1月19日

462 次查看

开启你的职业生涯

完成课程获得认证

开始学习
广告