亞洲大學基礎程式設計教材(AUP110-Fundamentals of Programming)¶
#Week3 Python的變數和運算
Topic 1(主題1)-輸入一個整數或浮點數¶
Python中使用input()函數讀入輸入的資料。
呼叫一次input()函數會輸入一個字串。
如果我們要輸入一個整數或浮點數。可以使用int()或float()函數
Step 1: 輸入一個整數¶
instr = input('Please input your score:')
score = int(instr) #變整數
print(score) #列印變數的值
print(type(score)) #列印變數的型別
---------------------------------------------------------------------------
StdinNotImplementedError Traceback (most recent call last)
/tmp/ipykernel_782/3111976663.py in <module>
----> 1 instr = input('Please input your score:')
2 score = int(instr) #變整數
3 print(score) #列印變數的值
4 print(type(score)) #列印變數的型別
~/.local/lib/python3.8/site-packages/ipykernel/kernelbase.py in raw_input(self, prompt)
1001 """
1002 if not self._allow_stdin:
-> 1003 raise StdinNotImplementedError(
1004 "raw_input was called, but this frontend does not support input requests."
1005 )
StdinNotImplementedError: raw_input was called, but this frontend does not support input requests.
Step 2: 輸入一個浮點數¶
instr = input('Please input your score:')
score = float(instr) #變浮點數
print(score) #列印變數的值
print(type(score)) #列印變數的型別
Python 型別轉換函數
int() #變整數
float() #變浮點數
str() #變字串
變數名稱=int(字串變數)
變數名稱=str(數值變數)
Topic 2(主題2)-算術運算子和表示式(expressions)¶
數值運算符號(Arithmetic Operators)
+ - * / #加減乘除
** #次方
// #商
% #餘數
Step 1: 加減乘除¶
print(1 + 2)
print(3 - 4)
print(5 * 6)
print(12 / 5)
print(1.3 + 2)
print(3 - 4.2)
print(5 * 6.5)
print(10.0 / 5)
Step 2: 商和餘數¶
print(23 / 5)
print(23 // 5)
print(23 % 5)
Step 1: 先乘除後加減, 括號優先¶
print(3 * 4 + 5) #先乘除後加減
print(3 * (4 + 5))#小括號 ()優先
Step 2: 次方比加減乘除優先¶
print(1 * 2 ** 3) #次方比乘除優先
print(1 **2 + 3) #次方比加減優先
Topic 4(主題3)-標準庫math的應用¶
Step 1: 計算pi 和sin(\(\pi/3\)) 函數¶
pi = 3.14159
sin(pi/3)
Step 2: 使用math標準庫的pi 和sin 函數¶
import math
print(math.pi)
print(math.sin(math.pi/3))
Step 3: 使用as¶
import math as m
print(m.pi)
print(m.sin(m.pi/3))
Step 4: 使用標準庫math的角度(degree)和弧度(radian)轉換¶
import math as m
print(m.degrees((math.pi/3)))
print(m.radians(60))
Topic 5: print()函數的參數¶
Step 1: Hello World with 其他參數¶
sep = “…” 列印分隔 end=”” 列印結尾
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
print('Hello World!') #'Hello World!' is the same as "Hello World!"
help(print) #註解是不會執行的
print('Hello '+'World!')
print("Hello","World", sep="+")
print("Hello"); print("World!")
print("Hello", end=' ');print("World")
print("Hello\nWorld!")
print("Hello","World!", sep="\n")
Step 2:Escape Sequence (逸出序列)¶
\newline Ignored
\ Backslash ()
‘ Single quote (‘)
” Double quote (“)
\a ASCII Bell (BEL)
\b ASCII Backspace (BS)
\n ASCII Linefeed (LF)
\r ASCII Carriage Return (CR)
\t ASCII Horizontal Tab (TAB)
\ooo ASCII character with octal value ooo
\xhh… ASCII character with hex value hh…
txt = "We are the so-called \"Vikings\" from the north."
print(txt)
Topic 6: 多行的字串¶
Step 1: 使用 字串尾部的\來建立長字串¶
iPhone11='iPhone 11是由蘋果公司設計和銷售的智能手機,為第13代iPhone系列智能手機之一,亦是iPhone XR的後繼機種。\
其在2019年9月10日於蘋果園區史蒂夫·喬布斯劇院由CEO蒂姆·庫克隨iPhone 11 Pro及iPhone 11 Pro Max一起發佈,\
並於2019年9月20日在世界大部分地區正式發售。其採用類似iPhone XR的玻璃配鋁金屬設計;\
具有6.1英吋Liquid Retina HD顯示器,配有Face ID;並採用由蘋果自家設計的A13仿生晶片,\
帶有第三代神經網絡引擎。機器能夠防濺、耐水及防塵,在最深2米的水下停留時間最長可達30分鐘。'
print(iPhone11)
Step 2: 使用六個雙引號來建立長字串 ‘’’ … ‘’’ 或 “”” … “””¶
iPhone11='''
iPhone 11是由蘋果公司設計和銷售的智能手機,為第13代iPhone系列智能手機之一,亦是iPhone XR的後繼機種。
其在2019年9月10日於蘋果園區史蒂夫·喬布斯劇院由CEO蒂姆·庫克隨iPhone 11 Pro及iPhone 11 Pro Max一起發佈,
並於2019年9月20日在世界大部分地區正式發售。其採用類似iPhone XR的玻璃配鋁金屬設計;
具有6.1英吋Liquid Retina HD顯示器,配有Face ID;並採用由蘋果自家設計的A13仿生晶片,
帶有第三代神經網絡引擎。機器能夠防濺、耐水及防塵,在最深2米的水下停留時間最長可達30分鐘。'''
print(iPhone11)
iPhone11="""
iPhone 11是由蘋果公司設計和銷售的智能手機,為第13代iPhone系列智能手機之一,亦是iPhone XR的後繼機種。
其在2019年9月10日於蘋果園區史蒂夫·喬布斯劇院由CEO蒂姆·庫克隨iPhone 11 Pro及iPhone 11 Pro Max一起發佈,
並於2019年9月20日在世界大部分地區正式發售。其採用類似iPhone XR的玻璃配鋁金屬設計;
具有6.1英吋Liquid Retina HD顯示器,配有Face ID;並採用由蘋果自家設計的A13仿生晶片,
帶有第三代神經網絡引擎。機器能夠防濺、耐水及防塵,在最深2米的水下停留時間最長可達30分鐘。"""
print(iPhone11)
Toic 7: 原始碼的字元編碼 (encoding)¶
預設 Python 原始碼檔案的字元編碼使用 UTF-8。在這個編碼中,世界上多數語言的文字可以同時被使用在字串內容、識別名 (identifier) 及註解中 — 雖然在標準函式庫中只使用 ASCII 字元作為識別名,這也是個任何 portable 程式碼需遵守的慣例。如果要正確地顯示所有字元,您的編輯器需要能夠認識檔案為 UTF-8,並且需要能顯示檔案中所有字元的字型。
如果不使用預設編碼,則要聲明檔案的編碼,檔案的第一行要寫成特殊註解。語法如下:
# -*- coding: encoding -*-
其中, encoding 可以是 Python 支援的任意一種 codecs。
比如,聲明使用 Windows-1252 編碼,源碼檔案要寫成:
# -*- coding: cp1252 -*-
第一行的規則也有一種例外情況,在源碼以 UNIX “shebang” line 行開頭時。此時,編碼聲明要寫在檔案的第二行。例如:
#!/usr/bin/env python3
# -*- coding: cp1252 -*-