課本上有個例題要求:在程式中預設乙個的整數,e.g. 0到9,讓使用者通過鍵盤輸入所猜的數,如果大於預設的數,顯示「遺憾,太大了」;小於預設的數,顯示「遺憾,太小了」,如此迴圈,直至猜中該整數範圍,顯示「**x次,你猜中了!」其中x是使用者輸入數字的次數。
沒有找到答案,並且費時較多,故記錄解體思路如下:
解決的關鍵點在於:迴圈在滿足停止條件前,使用者可以連續輸入而程式不推出;
首先,使用if,elif和else把迴圈列出來,
然後,將程式自己套入到if和elif語句中,使得在輸入的數值落入0到9前,不斷自我迴圈;
最後,解決問題。
**及注釋如下:
def ***(b): # 寫出迴圈,並將其 起名/定義 為 「***(b)」;
a =int(input('請輸入數字')) # 執行後視窗提示「請輸入數字」,並將其格式由 str/字串 轉換為 int/整數;
if a > 9:
print('遺憾,太大了')
b+=1 # b代表輸入的次數。等價於b=b+1,表示使用者輸入的次數,即把右邊b+1的值,賦給(新的)b;
***(b) # python讀到該處,會重新開始我們定義的***(b)條件判斷迴圈;
elif a < 0:
print('遺憾,太小了')
b+=1
***(b)
else:
print('**{}次,你猜中了!'.format(b+1))
b=0 # 執行時,b=0,此時使用者還沒有進行任何輸入。
***(b) # 作用是,讓python執行我們開頭定義的迴圈***(b)
注:或者將 a 的取值改由系統random()隨機產生。
改動1:a= randint(0,100) # 隨機產生乙個0到100之間的數,包括0和100;
改動2:增加 "from random import *"語句。
python教學筆記 python學習筆記(一)
1.eval 函式 eval是單詞evaluate的縮寫,就是 求.的值的意思。eval 函式的作用是把str轉換成list,dict,tuple.li 1 1,2,3 print eval li 1 di 1 print eval di 1 tu 1 2,4,6 print eval tu 1 執...
python課程筆記 Python課程筆記(二)
1 格式化輸出 print d d s 15,3.14,12.8 對比c語言 printf d,d,s 15,3.14,12.8 這裡可見 python要求更簡明一些。注意點 without syntaxwarning str object is not callable 在 的左側放置乙個字串 格...
python基礎筆記 python基礎筆記
一 變數 定義變數的規則 1 變數名只能是字母 數字 下劃線的組合 2 變數名不能以數字開頭 3 python中使用的關鍵字不能作為變數 注意 行業預設規則 1 變數命令見名知意 2 駝峰 3 字母全大寫代表是常量 例子 name mr liao name1 name print name,name...