課程
/后端開發
/Python
/初識Python
sum = 0
x = 1
n = 1
while True:
? ? x = x * 2
? ? sum = x
? ? if x > 2**19:
? ? ? ?break
print sum
2018-12-20
源自:初識Python 5-6
正在回答
?if x > 2**19: 不知道你這行是什么意思哦
朋友你好,你這個算法得出來的是2的20次方,你的while塊只用上了x=x*2,sum并沒有用上。我猜測,你是想用等比數列的算法來計算該題吧。那你可以嘗試這段代碼
a=1
q=2
def f(x):
? ? return a*(1-q**x)/(1-2)
print(f(20))
如果根據題目要求的話,那就老老實實一個一個加唄
? ? sum=sum+x
? ? x=x+x
? ? n=n+1
? ? if n>20:
? ? ? ? break
print(sum)
,注意sum很重要哦
小烽工作室3358476
慕函數3031282 回復 小烽工作室3358476
? ? if n > 20 :
? ? sum = sum + x
? ? n = n + 1
這個才是正確的。
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-12-20
?if x > 2**19: 不知道你這行是什么意思哦
2018-12-20
朋友你好,你這個算法得出來的是2的20次方,你的while塊只用上了x=x*2,sum并沒有用上。我猜測,你是想用等比數列的算法來計算該題吧。那你可以嘗試這段代碼
a=1
q=2
def f(x):
? ? return a*(1-q**x)/(1-2)
print(f(20))
如果根據題目要求的話,那就老老實實一個一個加唄
sum = 0
x = 1
n = 1
while True:
? ? sum=sum+x
? ? x=x+x
? ? n=n+1
? ? if n>20:
? ? ? ? break
print(sum)
,注意sum很重要哦
2018-12-20
sum = 0
x = 1
n = 1
while True:
? ? if n > 20 :
? ? ? ? break
? ? sum = sum + x
? ? x = x * 2
? ? n = n + 1
print sum
這個才是正確的。