检查数字在七段显示器中显示的镜像是否相同 (Python)
假设我们有一个数字 n。我们必须检查当它在七段显示器上显示时,该数字的镜像图像是否与给定数字相同。
因此,如果输入类似于 n = 818,则输出将为 True。
镜像图像相同。
为了解决这个问题,我们将遵循以下步骤:
- num_str := 将 n 转换为字符串
- 对于 i 从 0 到 num_str 的大小 - 1,执行:
- 如果 num_str[i] 不是 ['0', '1', '8'] 中的任何一个,则
- 返回 False
- 如果 num_str[i] 不是 ['0', '1', '8'] 中的任何一个,则
- left := 0
- right := num_str 的大小 - 1
- 当 left < right 时,执行:
- 如果 num_str[left] 与 num_str[right] 不相同,则
- 返回 False
- left := left + 1
- right := right - 1
- 如果 num_str[left] 与 num_str[right] 不相同,则
- 返回 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
广告