【发布时间】:2022-01-23 01:11:59
【问题描述】:
给定一个整数数组,确定每个整数是否是 2 的幂,其中 2 的幂是 [1,2,4,8,16,32,...] 如何在数组中附加 1 的值如果它是 2 或 0 的幂,否则。
#!/bin/python3
import math
import os
import random
import re
import sys
# The function is expected to return an INTEGER_ARRAY.
# The function accepts INTEGER_ARRAY arr as parameter.
def isPower(arr):
# Write your code here
if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
arr_count = int(input().strip())
arr = []
for _ in range(arr_count):
arr_item = int(input().strip())
arr.append(arr_item)
result = isPower(arr)
fptr.write('\n'.join(map(str, result)))
fptr.write('\n')
fptr.close()
【问题讨论】:
-
你有一个抽象的问题陈述和一个代码块。两者之间有什么联系?也许您对代码有特定的疑问?
-
看起来像家庭作业。到目前为止你尝试了什么?
# Write your code here?如果您努力解决您的问题,我们可以为您提供帮助。 -
欢迎来到 Stack Overflow。看来您的实际问题是“我如何判断一个数字是否是 2 的幂?”,因为您清楚地知道如何将值附加到列表(我们确实不将其称为数组)我假设您可以找到一种方法来追加
0而不是数字,一旦您发现if这样做是合适的。请阅读How to Ask 并在第一次尝试research 之后提出您的实际问题 -
看起来最初的问题是将列表转换为整数。 Get a list of numbers as input from the user。然后完成
isPower。 How to check if a given number is a power of two? -
这是我正在处理的代码的另一个版本。另一个版本不是 isPower(arr),而是 poweroftwo(n)。我能够解决另一个问题,但无法解决 ispower(arr)。
标签: python python-3.x