Python練習:快樂的數字
阿新 • • 發佈:2019-01-01
習題:快樂的數字
平臺:Python123.io
教師:嵩天
描述
編寫一個演算法來確定一個數字是否“快樂”。 快樂的數字按照如下方式確定:從一個正整數開始,用其每位數的平方之和取代該數,並重復這個過程,直到最後數字要麼收斂等於1且一直等於1,要麼將無休止地迴圈下去且最終不會收斂等於1。能夠最終收斂等於1的數就是快樂的數字。
例如: 19 就是一個快樂的數字,計算過程如下:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
當輸入時快樂的數字時,輸出True,否則輸出False。
此題隱含條件:任何正整數按照題目方式一直計算每位數平方和,最後一定會收斂於1或進入一個“迴圈”。
var = 1 while var == 1: #製作一個迴圈,可以反覆輸入數字來判斷是不是“快樂的數” a = input() #輸入一個正整數 while (a != 1 and a != 4): #當a不等於1或者4時,一直計算平方和 num = list(str(a)) #讀取輸入數字的每位數製成列表 a = 0 #初始化a,用於計算每位平方和。此時a值已儲存在num裡,無需擔心丟失。 for i in num: #遍歷num列表中所有數值,計算出每位數平方和 a = a + int(i)**2 print(a) #打印出當次計算的平方和 if(a == 1): #當a等於1時,判斷為“快樂的數字”,列印“True” print('True') else: #當a不等於1時,列印“False”(其實不是1就是4) print('False')