① 用python輸入一個任意自然數,求各位數字之和
另一位答主的方法需要用
num = str(num)
的方法先把需要求位和的數字轉化成字元串在進行計算,這里介紹一個不需要這樣轉化的遞歸寫法:
def getSum(num):
if num // 10 == 0:
return num
return num % 10 + getSum(num // 10)
輸入輸出:
輸入:
456
輸出
15
輸入:
23456
輸出:
20
② Python中輸入一個正整數,統計該數各位數字之和,例如shrubs的正整數是89076
以下是一個計算正整數各位數字之和的Python程序:
```python
num = int(input("請輸入一個正整數:"))
sum = 0
while num > 0:
digit = num % 10 # 取出最低位上的數字
sum += digit # 累加到總和中
num //= 10 # 把最低位上的數字從num中去掉
print("該數各位數字之和為:", sum)
```
在這個程序中,我們首先使用`input()`函數從命令行接收一個正整數。然後,我們使用一個`while`循環來逐位取出該數的數字,並將它們累加搏帆到一個總和變數中。具體來說,我們首先用模運算(取余數)取出最低位上的數字,然後將其加到總和中,最後使用整除(向下取整)運算把最低位上的數字從原數中去掉。當原數胡圓小於等於零時,基做雹這個循環結束。
最終,我們輸出總和即可得到該數各位數字之和。對於輸入的89076,該程序將輸出結果為30,即8+9+0+7+6=30。
③ python求整數各位數字之和
今天我們要實現這樣一個功能:計算1到任意一個我們給出的整數之間的數字之和是多少?
1、運行時,系統提示請輸入數字:
2、系統給出運算結果 1到輸入數字之間的數字之和為:多少;
3、輸入數字為0時,程序結束運行;
運行的結果如下:
下面是源程序:
這里我們使用到了:
定義變數、變數賦值、擴展賦值
函數int()、input()、range()、print(),
輸出格式 .format( ) 格式化輸出
while for 循環
if 條件判斷
第一行到第三行是本程序的一個說明,每次運行時都顯示出來
第五行是定義一個變數,先賦值10 maxnum 整型變數,賦值時就確定了這個變數的類型。
第七行 while 循環 條件為 maxnum 不等於0 ,如果等於0,第12行if判斷 中斷程序的運行,break,
第8行為互動式提示用戶輸入希望獲得最大數的累加值,
第9行定義變數 mysum 並賦值為0
第10行 從1到剛才輸入數字再加上1)循環, range(m,n,step)m為開始、n為結束 step為步長,不輸入默認步長為1
第11行 累加mysum=mysum+i 第一次循環結果就是1=0+1,第二次循環的結果是3=1+2,第三次的結果是6=3+3,依次類推,直到maxnum,循環結束後,通過第14行列印出來結果,這是for循環結束,還要執行while循環,循環嵌套,又重新提示輸入數值,可以計算 1到任意給定值之間數字之和,如果輸入0 提示程序結束運行。
把這些代碼輸入一遍,看在你的環境中是否能正常運行呢? 注意循環語句後面的: .format 前面的 " . "