中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python Collatz 序列和輸入驗證

發布時間:2020-06-30 10:30:20 來源:網絡 閱讀:444 作者:網絡大神經 欄目:編程語言

Python編程快速上手實踐項目題目,歡迎指證與優化!

  1. Collatz 序列
    題目:
    編寫一個名為 collatz()的函數,它有一個名為 number 的參數。如果參數是偶數,
    那么 collatz()就打印出 number // 2, 并返回該值。如果 number 是奇數, collatz()就打
    印并返回 3 * number + 1。
    然后編寫一個程序, 讓用戶輸入一個整數, 并不斷對這個數調用 collatz(), 直
    到函數返回值1(令人驚奇的是, 這個序列對于任何整數都有效, 利用這個序列,
    你遲早會得到 1! 既使數學家也不能確定為什么。 你的程序在研究所謂的“Collatz
    序列”,它有時候被稱為“最簡單的、 不可能的數學問題”)。
    記得將 input()的返回值用 int()函數轉成一個整數,否則它會是一個字符串。
    源代碼:
def collatz(number):
    if number%2 == 0:
        return number//2
    else :
        return 3*number+1
input_number = int(input("請輸入一個整數:"))
while True :
    print(collatz(input_number))  
    input_number=collatz(input_number)
    if input_number==1:
        break

運行結果:

請輸入一個整數:22
11
34
17
52
26
13
40
20
10
5
16
8
4
2
1
  1. 輸入驗證:
    問題:
    在前面的項目中添加 try 和 except 語句,檢測用戶是否輸入了一個非整數的字
    符串。正常情況下, int()函數在傳入一個非整數字符串時,會產生 ValueError 錯誤,
    比如 int('puppy')。在 except 子句中,向用戶輸出一條信息,告訴他們必須輸入一個
    整數。
    代碼:
    def collatz(number):
    if number%2 == 0:
        return number//2
    else :
        return 3*number+1
    try:
    input_number = int(input("請輸入一個整數:"))
    while True :
        print(collatz(input_number))  
        input_number=collatz(input_number)
        if input_number==1:
            break
    except:
    print ('出現錯誤!只支持輸入整數!')

    結果:

    請輸入一個整數:jj
    出現錯誤!只支持輸入整數!
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

卓资县| 仙游县| 秦安县| 枣庄市| 枣强县| 九江县| 天津市| 周口市| 濉溪县| 蒙自县| 周宁县| 新化县| 建平县| 遂川县| 修文县| 伊宁市| 昌乐县| 惠水县| 湟源县| 出国| 铜山县| 叶城县| 和龙市| 衡阳县| 达州市| 汕头市| 微山县| 屏边| 山西省| 澎湖县| 饶平县| 红原县| 扶余县| 隆尧县| 桑植县| 阿鲁科尔沁旗| 亚东县| 巨野县| 晋宁县| 五常市| 福安市|