零基礎入門學習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 分之間,請根據統計規律,盡量改進程式以提高效率。
==============================以下為程式碼==============================
=======================================================================
第八課教了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在達成條件時中止循環,
以達到精簡程式碼的效果。
====================例(一)====================
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在達成條件時中止循環,
以達到精簡程式碼的效果。
留言
張貼留言