Python超簡單習題-2

更新於 2024/10/07閱讀時間約 3 分鐘

大概一樣是學生習題

輸入五張不同點數撲克牌然後相加

能輸入字串1~13,也可以輸入字串AJQK

思路是用isdigit檢查輸入是不是數字,是就直接迭代,不是查表對應的數字

所以建立兩個list用來對照, 找出字母在a的index然後撈出b對應位置的數字

# -*- coding: UTF-8 -*-
a=['A','J','Q','K','a','j','q','k']
b=[1,11,12,13,1,11,12,13]
result = 0


for i in range (0,5): 
    card = input('>>> number' + str(i+1) + ': ')   
    if card.isdigit():
        result += int(card)
    else:
        result += int(b[a.index(card)])
print (result)

 

但這樣有點簡陋,超過13的數字一樣會加總, 然後輸入非AJQK字母會報錯

=========================================

更新了一下變成輸入1~13, AKQJ 以外的字都要重新輸入

用while loop break和try:except來控制程式流向

每一次輸入都進while loop檢查是不是數字

如果是就再檢查是不是1~13, 是的話中斷loop出來疊加

不是數字就檢查是不是在列表內, 是的話轉換成數字中斷loop出來疊加

不是就會報錯被except ValueError抓到, 然後重新輸入

 

# -*- coding: UTF-8 -*-
a=['A','J','Q','K','a','j','q','k']
b=[1,11,12,13,1,11,12,13]
result = 0

for i in range (0,5): 
    while True:
        try:
            card = input('>>> number' + str(i+1) + ': ')
            if card.isdigit():
                w = int(card)
                if w <= 13 and w >= 1: break
                else: print ('<bad input1>')
            else:
                w = int(b[a.index(card)])
                break
        except ValueError: print ('<bad input2>')
    result += w

print (result)
 

    avatar-img
    6會員
    63內容數
    ktest
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    你可能也想看
    Google News 追蹤
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    要使用 CUDA(Compute Unified Device Architecture)來加速計算,首先需要在你的系統上設置和安裝相關的工具。CUDA 是由 NVIDIA 開發的平行計算框架,用於加速大量數據的運算,尤其在圖像處理、機器學習、科學計算等領域很有應用。 可以參考官方的安裝方式 以
    Thumbnail
    在機器學習中,超參數的設定對模型的性能至關重要。本文介紹了主要的超參數調整方法,包括網格搜索、隨機搜索、貝葉斯優化、交叉驗證以及自適應搜索算法。每種方法的優缺點詳細說明,幫助讀者選擇最合適的調整策略。透過這些技術,可以有效提高模型的泛化能力與性能,並實現更好的機器學習效果。
    Thumbnail
    在影像處理中,有時候我們只想特別關注某個感興趣的區域時,就是ROI的概念,擷取此範圍的圖像來做處理。 設定超過圖像邊界時就會報錯,本文主要介紹如何擷取影像的同時,避免設定錯誤造成程式崩潰的狀況。 擷取圖像示意圖 ROI程式範例 import cv2 import numpy as np
    Thumbnail
    在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
    在求學階段,你已經對代數的計算熟到不能再熟,所以變數(variable)對你來說應該不至於太陌生,先來看看以下這個例子:   
    想要開始Python語言的開發環境,有兩種常見方式,一種是下載安裝到本機端,另一種是直接在雲端執行。本文將介紹三個常見的開發工具及其安裝步驟。
    Thumbnail
    ~開始準備練習考照前,請務必下載Spyder~ 為何要下載Spyder? 學校與聯成電腦考照,都是用Spyder。 輸入程式碼,執行看結果。 使用Spyder,按tab鍵,省去打字時間。 將執行成功的程式碼,複製貼上到CodeJudger即時線上評分。 這篇主要是透過Anaconda安裝下載Spy
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    要使用 CUDA(Compute Unified Device Architecture)來加速計算,首先需要在你的系統上設置和安裝相關的工具。CUDA 是由 NVIDIA 開發的平行計算框架,用於加速大量數據的運算,尤其在圖像處理、機器學習、科學計算等領域很有應用。 可以參考官方的安裝方式 以
    Thumbnail
    在機器學習中,超參數的設定對模型的性能至關重要。本文介紹了主要的超參數調整方法,包括網格搜索、隨機搜索、貝葉斯優化、交叉驗證以及自適應搜索算法。每種方法的優缺點詳細說明,幫助讀者選擇最合適的調整策略。透過這些技術,可以有效提高模型的泛化能力與性能,並實現更好的機器學習效果。
    Thumbnail
    在影像處理中,有時候我們只想特別關注某個感興趣的區域時,就是ROI的概念,擷取此範圍的圖像來做處理。 設定超過圖像邊界時就會報錯,本文主要介紹如何擷取影像的同時,避免設定錯誤造成程式崩潰的狀況。 擷取圖像示意圖 ROI程式範例 import cv2 import numpy as np
    Thumbnail
    在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
    在求學階段,你已經對代數的計算熟到不能再熟,所以變數(variable)對你來說應該不至於太陌生,先來看看以下這個例子:   
    想要開始Python語言的開發環境,有兩種常見方式,一種是下載安裝到本機端,另一種是直接在雲端執行。本文將介紹三個常見的開發工具及其安裝步驟。
    Thumbnail
    ~開始準備練習考照前,請務必下載Spyder~ 為何要下載Spyder? 學校與聯成電腦考照,都是用Spyder。 輸入程式碼,執行看結果。 使用Spyder,按tab鍵,省去打字時間。 將執行成功的程式碼,複製貼上到CodeJudger即時線上評分。 這篇主要是透過Anaconda安裝下載Spy