實(shí)例1:溫度轉(zhuǎn)換
華氏度和攝氏度溫度轉(zhuǎn)換。
IPO: Input Process Output要求。
F表示華氏度,C表示攝氏度,放在數(shù)字后。
轉(zhuǎn)換公式:
C=(F-32)/1.8
F=C*1.8+32
實(shí)例編寫(xiě):
#TempConvert.py
TempStr = input("輸入帶有符號(hào)的溫度值:")
if TempStr[-1] in ['F','f']:
C = (eval(TempStr[0:-1]) - 32)/1.8
print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
F = 1.8*eval(TempStr[0:-1]) + 32
print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))
else:
print("輸入格式錯(cuò)誤")
- 輸入輸出的改變:
溫度數(shù)值和溫度標(biāo)識(shí)之間關(guān)系的設(shè)計(jì)可以改變,例如:
表示放在溫度數(shù)值之前:C82、F28
或者標(biāo)識(shí)變?yōu)槎鄠€(gè)字符: 82Ce、28F - 其他單位轉(zhuǎn)換,如貨幣轉(zhuǎn)換,質(zhì)量轉(zhuǎn)換。
Python 程序語(yǔ)法元素
程序的格式框架
- 代碼高亮:編程的色彩輔助體系,不是語(yǔ)法要求。
- 縮進(jìn):表達(dá)程序格式框架。
- 嚴(yán)格明確:縮進(jìn)是語(yǔ)法的一部分,縮進(jìn)不正確運(yùn)行錯(cuò)誤。
- 所屬關(guān)系:表達(dá)代碼間包含和層次關(guān)系的唯一手段。
- 長(zhǎng)度一致:程序內(nèi)一致即可,一般用4個(gè)空格或者1個(gè)tab。
- 注釋:用于提高代碼可讀性的輔助性文字,不被執(zhí)行。
- 單行注釋:以
#開(kāi)頭,其后內(nèi)容為注釋。# 單行注釋 - 多行注釋:以
'''開(kāi)頭和結(jié)尾。''' 第一行注釋 最后一行注釋 '''
- 單行注釋:以
命名與保留字
- 變量:程序中用于保存和表示數(shù)據(jù)的占位符號(hào)。
- 采用標(biāo)識(shí)符(名字)來(lái)表示,關(guān)聯(lián)標(biāo)識(shí)符的過(guò)程叫命名。
- 使用等號(hào)向變量賦值或修改值,
=為賦值符號(hào)。例如:TempStr = '82F' #向變量TempStr賦值'82F' - 命名規(guī)則:大小寫(xiě)字母、數(shù)字、下劃線和漢字等字符及組合。(大小寫(xiě)敏感、首字符不能是數(shù)字、不能與保留字相同)
- 保留字(關(guān)鍵字):被編程語(yǔ)言內(nèi)部定義并保留使用的標(biāo)識(shí)符。
- Python中一共有33個(gè)保留字。
- 是編程語(yǔ)言中的基本單詞,大小寫(xiě)敏感。
| and | elif | import | raise | global |
|---|---|---|---|---|
| as | else | in | return | nonlocal |
| assert | exept | is | try | True |
| break | finally | lambda | while | False |
| class | for | not | with | None |
| continue | from | or | yield | |
| def | if | pass | del |
數(shù)據(jù)類型
數(shù)據(jù)類型:字符串、整數(shù)、浮點(diǎn)數(shù)、列表等。
供計(jì)算機(jī)程序理解的數(shù)據(jù)形式。
例如:10,011,101
10011101 #整數(shù)類型
"10,011,101" #字符串類型
[10,011,101] #列表類型
- 字符串:由0個(gè)或者多個(gè)字符組成的有序字符序列。
- 用一對(duì)單引號(hào)或者一對(duì)雙引號(hào)表示。
- 是字符的有序序列,可以對(duì)其中的字符進(jìn)行索引。
- 編號(hào)
正向遞增序號(hào)和反向遞減序號(hào)。
正向遞增:第一個(gè)字符序號(hào)為0。
反向遞減:最后一個(gè)字符序號(hào)為-1。 - 字符串的使用:使用
[]獲取字符串中一個(gè)或者多個(gè)字符。- 索引:返回字符串中單個(gè)字符。
<str>[M] # M為序號(hào) - 切片:返回字符串中一段字符。(從M到N-1)
<str>[M:N] # M,N為序號(hào)
- 索引:返回字符串中單個(gè)字符。
- 數(shù)字類型:整數(shù)和浮點(diǎn)數(shù)。
- 整數(shù):數(shù)學(xué)中的整數(shù)。
- 浮點(diǎn)數(shù):數(shù)學(xué)中的實(shí)數(shù)。
- 列表類型:由0個(gè)或多個(gè)數(shù)據(jù)組成的有序序列。
- 使用
[]表示,用逗號(hào),分隔各元素。 - 使用保留字
in判斷一個(gè)元素是否在列表中。例如:TempStr[-1] in ['C','c'] #判斷前者是否與列表中某個(gè)元素相同
- 使用
語(yǔ)句與函數(shù)
- 賦值語(yǔ)句:由賦值符號(hào)構(gòu)成的一行代碼。例如:
TempStr = '82F' #向變量TempStr賦值'82F'- 給變量賦予新的數(shù)據(jù)值
- 賦值符號(hào)右側(cè)的數(shù)據(jù)類型同時(shí)作用于變量。
- 分支語(yǔ)句:由判斷條件決定程序運(yùn)行方向的語(yǔ)句。例如:
if TempStr[-1] in ['F','f']: #如果條件為T(mén)rue執(zhí)行冒號(hào)后的語(yǔ)句- 使用保留字
if, elif, else構(gòu)成條件判斷的分支結(jié)構(gòu)。 - 注意有冒號(hào),是語(yǔ)法的一部分。
- 使用保留字
- 函數(shù):根據(jù)輸入?yún)?shù)產(chǎn)生不同輸出的功能過(guò)程。例如:
print("輸入格式錯(cuò)誤") #打印輸出“輸入格式錯(cuò)誤”- 類似數(shù)學(xué)中的函數(shù)。
- 采用
<函數(shù)名>(<參數(shù)>)方式使用。
輸入與輸出
- 輸入:
input()從控制臺(tái)獲得用戶輸入的函數(shù)。<變量> = input(<提示信息字符串>) - 輸出:
print()以字符形式向控制臺(tái)輸出結(jié)果的函數(shù)。print(<擬輸出字符串或字符串變量>)- 格式化,例如:
print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C)){}表示槽,后續(xù)變量填充到槽中。
- 格式化,例如:
- 評(píng)估函數(shù):
eval()去掉參數(shù)最外側(cè)引號(hào)并執(zhí)行余下語(yǔ)句的函數(shù)。
例如:eval(<字符串或字符串變量>)>>>eval("1+2") 3 >>>eval('print("Hello")') Hello