零基礎入門學習python_007&008筆記及作業_分支與循環_三元運算子_猜數字小遊戲V3.1

三元運算子:
====================例(一)====================
if x < y:
    small = x
else:
    small = y

等同於:small = x if x < y else y
====================例(二)====================
if 'a'=='a':
    x=True
else :
    x=False

等同於:x=True if 'a'=='a' else False
====================例(二)====================
if x < y:
    small = x
    if z < small:
        small = z
elif y < z:
    small = y
else:
    small = z

等同於:small = x if (x < y and x < z) else (y if y < z else z)

作業1:按照100分制,90分以上成績為A,80到90為B,60到80為C,60以下為D,寫一個程式,當使用者輸入分數,自動轉換為ABCD的形式列印。根據一般的統計規律,平均成績一般集中在 70~80 分之間,請根據統計規律,盡量改進程式以提高效率。

==============================以下為程式碼==============================

score = int(input('請輸入一個分數:'))
if 80 > score >= 60:
    print('C')
elif 90 > score >= 80:
    print('B')
elif 60 > score >= 0:
    print('D')
elif 100 >= score >= 90:
    print('A')
else:
    print('輸入錯誤!')

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

第八課教了break和continue語句。
break跳出整個循環,
而continue則是跳過當前循環的剩餘語句,
然後繼續下一輪的循環。

根據這兩個好用的語句,
可以把猜數字小遊戲的程式碼變得更加精簡:

註:之所以跳過3.0版,
是因為在寫2.2版的作業「當使用者輸入錯誤類型的時候,及時提醒使用者重新輸入,防止程式崩潰。」以前,就先改良出了3.0版,所以並沒有加上此作業的功能。

==============================以下為程式碼==============================
import random
secret = random.randint(1,10)
count = 3

print("----------Elliot Production----------")
while True:
    temp = input("guess the number from 1 to 10 : ")
    count = count -1
    while str.isdigit(temp) != True:
        print('Type Error')
        temp = input('Please key in again: ')
        count = count -1
        if count == 0:
            break
    if str.isdigit(temp) == True:
        guess = int(temp)
    else:
        guess = str(temp)
    if count == 0:
        print('stupid')
        break
    elif guess == secret:
        print("Wonderful")
        print("But still no reward")
        break
    else:
        if guess > secret:
            print('Hey, too BIG')
        else:
            print('Hey, too small')

print('Game Over')

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

應用while True使得循環永遠持續,
以及應用break在達成條件時中止循環,
以達到精簡程式碼的效果。

留言

這個網誌中的熱門文章

簡易版複利計算機

零基礎入門學習python_003筆記及作業_字串與轉譯

哈佛大學計算機通識課程:CS50