1. 程式人生 > >嵩天教授《Python語言程式設計》課後題筆記

嵩天教授《Python語言程式設計》課後題筆記

第四周:

快樂的數字

描述

編寫一個演算法來確定一個數字是否“快樂”。 快樂的數字按照如下方式確定:從一個正整數開始,用其每位數的平方之和取代該數,並重復這個過程,直到最後數字要麼收斂等於1且一直等於1,要麼將無休止地迴圈下去且最終不會收斂等於1。能夠最終收斂等於1的數就是快樂的數字。

例如19 就是一個快樂的數字,計算過程如下:

  • 12 + 92 = 82
  • 82 + 22 = 68
  • 62 + 82 = 100
  • 12 + 02 + 02 = 1

當輸入時快樂的數字時,輸出True,否則輸出False。 

輸入

示例1:19

輸出

示例1:True

def squarecal(numberin):
    numberin = str(numberin)
    digital = [int(x) for x in numberin]
    sumo = 0
    for i in digital:
        sumo += i**2
    return sumo


Temp = input()
number = eval(Temp)
while number != 1 and number != 4:
    number = squarecal(number)
else:
    if number == 1:
        print("True")
    else:
        print("False")

階乘累計求和

描述

獲得使用者輸入的整數n,輸出 1!+2!+...+n!的值。

如果輸入數值為0、負數、非數字或非整數,輸出提示資訊:輸入有誤,請輸入正整數。

輸入格式

使用input()獲得系統輸入,不增加額外的提示資訊。

輸入輸出示例

輸入 輸出
示例 1
1
1
示例 2
0
輸入有誤,請輸入正整數
示例 3
"A"
輸入有誤,請輸入正整數
try:
    lenth = input()
    lenth = eval(lenth)
    Sum = 0
    if lenth == 0:
        print('輸入有誤,請輸入正整數')
    else:
        for i in range(lenth):
            Sum2 = 1
            for j in range(i+1):
                Sum2 *= (j+1)
            Sum += Sum2
        print(Sum)
except:
    print("輸入有誤,請輸入正整數")