輸入:
numbers = [1,2,3]
increment = 5
預期輸出:
[1, 32, 243]
結果與我的代碼:
1
32
243
代碼:
def power(x, y):
if (y == 0): return 1
elif (int(y % 2) == 0):
return (power(x, int(y / 2)) *
power(x, int(y / 2)))
else:
return (x * power(x, int(y / 2)) *
power(x, int(y / 2)))
for number in numbers:
exponentiation = power(number,increment)
print(exponentiation)
我試圖在沒有 pow() 和 '**' 函式的情況下找到串列中數字的平方根。我找到了每個數字的平方根,但我想知道如何將它們放入串列中。
uj5u.com熱心網友回復:
您正在列印指數,但您想要輸出串列。這是你想要做的:
# your function code above
answer = []
for number in numbers:
exponentiation = power(number,increment)
answer.append(exponentiation)
print(answer)
這將給出:
[1, 32, 243]
uj5u.com熱心網友回復:
您應該在 for 回圈之前創建一個空串列,然后在 for 回圈內創建一個空串列,而不是列印每個數字,而是將其附加到串列中。然后在最后,列印串列。
def power(x, y):
if (y == 0): return 1
elif (int(y % 2) == 0):
return (power(x, int(y / 2)) *
power(x, int(y / 2)))
else:
return (x * power(x, int(y / 2)) *
power(x, int(y / 2)))
output_list = []
for number in numbers:
exponentiation = power(number,increment)
output_list.append(exponentiation)
print(output_list)
uj5u.com熱心網友回復:
您可以使用單行回圈 -
exponentiation = [power(number,increment) for number in numbers]
print(exponentiation)
#[1,32,243]
uj5u.com熱心網友回復:
您可以使用python庫的pow函式并在串列和列印串列中附加值而不是單個值
numbers = [1,2,3]
increment = 5
l=[]
for i in numbers:
ex=pow(i,increment )
l.append(ex)
print(l)
輸出
[1, 32, 243]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/390842.html
上一篇:使用fwrite()TCPServer客戶端發送結構的問題
下一篇:為什么這個for回圈只輸出一次?
