# wk_03_0921_變數與運算式_B1003205醫放三謝彤 ### 上週使用函數: 1. print() 可輸出()內的字串/變數 2. input() 可使輸入者輸入,成為此code的變數 3. type() 可查資料型態為何 4. int() 可使()內的變數轉為整數 5. float() 可使()內的變數轉為浮點數(若其變數本身就是浮點數的話) 6. srt() ()內輸入字串 ## [inclass practice] ### 筆記區 <pre> #input接收到的是字串,要運算的話要再以int或float使之轉型 2 + 3中, +是運算子;2、3是運算元 算數運算子: %表示取餘數 //表取整除的商數 **表示次方 比較運算子: ==表是否相同 !=表是否不同 邏輯運算子:not、and、or (和true and false 有關係) 複合指定運算子: i+=3 表示 i= i+3 (可簡化code) </pre> ### 概念練習 <pre> 1. 變數命名 - 可行的:length、weight - 不可行:if、123BBB 2. 變數資料形態 - 數值形資料類型有哪些 : int()、float()、bool() - 字串行資料類型有哪些 : str() 3. "+" 運算子 4. 輸出:"%d %s" %(參數列) - %d表示已整數輸出 %d表示已浮點數輸出 %s表示已字串輸出 5. 輸出:"{0} {1}" .format(參數列) - .format 可讓資料格式化 6. 輸入命令 7. 運算子優先順序 -算數>比較>邏輯 </pre> ### 綜合演練 #### 1.實作題3 <pre> 矩形的面積是長*寬、周邊長是(長+寬)*2 請設計程式讓使用者輸入矩形的長和寬,然後計算矩形面積和周邊長。 </pre> 步驟: 1. 需要使用者給的input:矩形的長、寬 2. 中間過程process 3. output:矩形的面積、周長 ```python length=5 width=6 area=length * width perimeter=(length*width)*2 print("矩形的面積:",area) print("矩形的周長:",perimeter) ``` 矩形的面積: 30 矩形的周長: 60 ```python length=int(input("輸入矩形的長")) width=int(input("輸入矩形的寬")) area=length * width perimeter=(length+width)*2 print("矩形的面積:",area) print("矩形的周長",perimeter) ``` 輸入矩形的長6 輸入矩形的寬5 矩形的面積: 30 矩形的周長 22 ```python print("矩形的面積:"+ str(area)) #方式1:加字串 print("矩形的周長"+str(perimeter)) print("矩形的面積: %d" % (area)) #方式2:%d print("矩形的周長 %d" % (perimeter)) print("矩形的面積:%d,周長: %d" % (area,perimeter)) print("矩形的面積:%f,周長: %s" % (area,perimeter)) #f表示float,會出現六位小數 s表示str,會出現字串 print("矩形的面積:{},周長:{}" .format(area,perimeter)) print("矩形的周長:{},面積:{}" .format(area,perimeter)) #順序會被影響 print("矩形的周長:{1},面積:{0}" .format(area,perimeter)) #使不被字串順序影響 (開頭是0) ``` 矩形的面積:30 矩形的周長22 矩形的面積: 30 矩形的周長 22 矩形的面積:30,周長: 22 矩形的面積:30.000000,周長: 22 矩形的面積:30,周長:22 矩形的周長:30,面積:22 矩形的周長:22,面積:30 #### 2.實作題4 許多人出國時會有公制轉英制的困擾,以長度為例,英制和公制的長度轉換公式為: 1 inch (英吋) = 2.54 cm (公分) 請設計程式讓使用者輸入公制的身高(cm),然後計算出英制的高度是幾英呎、幾英吋 1 英呎 = 12 英吋 ```python n_cm = 160 # to_inch m_inch =n_cm /2.54 m_feet =m_inch/12 print("您的身高是:%f 英吋,%f英呎" %(m_inch,m_feet)) ``` 您的身高是:62.992126 英吋,5.249344英呎 ```python n_cm=int(input("請輸入您的身高")) m_inch =n_cm /2.54 m_feet =m_inch/12 print("您的身高是:%f 英吋,%f英呎" %(m_inch,m_feet)) ``` 請輸入您的身高160 您的身高是:62.992126 英吋,5.249344英呎 ## [afterclass practice] ### 運算子先後優先順序 ```python #1 A=5+3*2/(7-4) print(A) ##括號內的先算,而後左到右計算 ``` 7.0 ```python #2 A=(10%3)**2+4//2 print(A) ## 10%3表示10/3的餘數(1) 4//2表示4/2的商數(2) ``` 3 ```python #3 A=(8+2)*(5-3)/2 print(A) ``` 10.0 ```python #4 A=2**3+4**(1/2)-1 print(A) ## **表示次方 ``` 9.0 ```python #5 A=(10>5)or(3!=3)and(8//2<=4) print(A) ## (10>5)or(3!=3)兩者中只要有其中一項對,就是true。而and的前後都要是true,結果才會是true ``` True ```python #6 A="Hello"+""+"World"*2 print(A) ``` HelloWorldWorld ```python #7 A=(15/3)%2!=0and not(10>7) print(A) ##and的左邊項是對的,但右邊項是錯的,故答案是false ``` False <>:2: SyntaxWarning: invalid decimal literal <>:2: SyntaxWarning: invalid decimal literal C:\Users\ASUS\AppData\Local\Temp\ipykernel_11104\4237635827.py:2: SyntaxWarning: invalid decimal literal A=(15/3)%2!=0and not(10>7) ```python #8 A=(3+2)**2/4*5%6 print(A) ``` 1.25 ```python #9 A=2*(4+6)-(5%3)**2 print(A) ##20-4=16 ``` 16 ```python #10 A=len("Python")+int("3")+(5>2) print(A) ``` 10 ### 綜合演練 <pre> 實作題1. 一年一班只有2位同學,程式設計讓老師分別輸入2位同學的姓名及成績,然後計算成績總分,最後以下圖格式列印: </pre> ```python name1=input("請輸入第一位學生的姓名:") score1=int(input("請輸入第一位學生的成績:")) name2=input("請輸入第二位學生的姓名:") score2=int(input("請輸入第二位學生的成績:")) print("姓名 成績") print(name1," ",score1) print(name2," ",score2) print("成績總分為:",score1+score2) ``` 請輸入第一位學生的姓名:林大毛 請輸入第一位學生的成績:78 請輸入第二位學生的姓名:陳學文 請輸入第二位學生的成績:100 姓名 成績 林大毛 78 陳學文 100 成績總分為: 178 <pre> 實作題2. 計程車計費方式第1公里為70元,多1公里加收30元。程式設計讓運將輸入乘客的搭乘公里數,然後計算乘車費用。 </pre> ```python kilometer=int(input("請輸入路程公里數(整數):")) cost=70+30*(kilometer-1) print("您的車程車資費為:",cost) ``` 請輸入路程公里數(整數):6 您的車程車資費為: 220 ### 影片心得 lesson 5 <pre> %-的意思是把文字都靠左對齊;%6.2表示共有六位,整數三位、小數點一位、浮點兩位。 林林總總都讓我覺得PYTHON還是有很多規則,但課程上因為時間沒辦法全部教授給我們,所以這種影片還是很有用的! </pre> ## [self-practice] <pre> len()的功能是返回序列的長度(例如字符串、列表、元組)