python - Python:给定一个二维数组,返回 True 是数组中的每个数字都是 2、0 和大于 2000 的幂。没有导入的库
问题描述
Python
:给定一个 2-D ,创建一个函数,如果数组中的每个数字都是 2、0 和大于 200 的幂,则array
该函数将返回。没有导入的库。True
前任:
board = [[0,1,0,2],[0,0,2,4],[0,7,2001,0]]
return False
--
def is_data(board):
col= len(board[0])
row= len(board)
for c in range(col):
for r in range(row):
n= int(board[r][c])
if n > 2000:
return False
else:
while isinstance(n, int) == True:
if n % 2 != 1:
if isinstance(n, float):
return False
break
else:
n = n//2
return True
解决方案
楼层划分不是二次方。
https://www.w3schools.com/python/trypython.asp?filename=demo_oper_floordiv
def power_of_two( num ):
while num > 1: num /= 2
if num == 1: return True
else: return False
print( power_of_two( 7 ) )
print( power_of_two( 92 ) )
print( power_of_two( 128 ) )
print( power_of_two( 4096 ) )
输出:
False
False
True
True
推荐阅读
- javascript - 属性或方法“消息”未在实例上定义,但在渲染期间引用
- php - 如何在 php 中将图像保存到服务器时硬编码数据库中的文件名?
- docker - 在 Docker pip 错误中在 ubuntu 上安装 Python 和 Flask
- python - 使用 Keras 的 CVAE 模型中的自定义损失函数出错
- c# - WPF 调用库不起作用(线程问题)
- c++ - 如何创建可以处理具有不同类型参数的 std::set 的模板类
- javascript - Like counter - handleLike 函数
- python - 理解函数调用函数的问题
- sql - 从多个表中选择与加入?
- java - RestEasy JAX-RS ApplicationPath 返回 404