format格式化輸出
' '.format() 是使用{} 去代替?zhèn)鹘y(tǒng)的%
格式:<模板字符串>.format(<逗號(hào)分隔的參數(shù)>) {}類似于生活中槽的概念
print('當(dāng)前英雄為{},當(dāng)前等級(jí)為{}級(jí)'.format(name,gread))
可以通過(guò)序號(hào)的方式指定模板字符串中參數(shù)的使用,
print('當(dāng)前英雄為{0},當(dāng)前等級(jí)為{1}級(jí)'.format(name,gread))
f-string
f-string 是python3.6中自定義的一種參數(shù)化字符串的方式,主要目的是讓字符串格式化更加便捷
用{}標(biāo)識(shí)變量但不是使用{}進(jìn)行占位,而是直接寫入變量名
print(f'當(dāng)前英雄為{name},當(dāng)前等級(jí)為{gread}級(jí)')
例:
name = input('請(qǐng)輸入姓名:')
company = input('請(qǐng)輸入公司:')
tel = input('請(qǐng)輸入電話:')
mailbox = input('請(qǐng)輸入郵箱:')
print(f'姓名:{name}')
print(f'公司:{company}')
print(f'電話:{tel}')
print(f'郵箱:{mailbox}')
標(biāo)識(shí)符和保留字
- 標(biāo)識(shí)符就是程序員自己命名的變量名,原則上標(biāo)識(shí)符的命名要有見名知義得效果,不要隨意起名
c = '東軟' 不好的變量名
en = 2323232 不好的變量名
company = 'neusoft'
employeeNum = 321654
- 標(biāo)識(shí)符可以由字母、下劃線數(shù)字組成
- 不能以數(shù)字開頭
- 不能與保留字重復(fù)
保留字/關(guān)鍵字
- 關(guān)鍵字就是python中內(nèi)部已經(jīng)定義好的標(biāo)識(shí)符
- 具有特殊的功能和含義
- 不允許定義和關(guān)鍵字相同的標(biāo)識(shí)符
變量的命名規(guī)則
- 規(guī)范的命名是為了增加代碼的可讀性
1.下劃線命名法 原則:每個(gè)單詞都要小寫,單詞之間使用下劃線連接
2.駝峰式命名法
a. 小駝峰:第一個(gè)單詞是小寫字母開始,后續(xù)單詞首字母大寫
例如:firstname = 'firstName'
b. 大駝峰:每個(gè)單詞首字母都采用大寫的方式
例如:firstname = 'FirstName'
運(yùn)算符
- 算術(shù)運(yùn)算符
| 運(yùn)算符 | 描述 | 實(shí)例 |
|---|---|---|
| + | 加 | -10 + 20 = 30 |
| - | 減 | 10 - 20 = -10 |
| * | 乘 | 10 * 20 = 200 |
| / | 除 | 10 / 20 = 0.5 |
| // | 取整除 | 返回除法的整數(shù)部分(商) 9 // 2 輸出結(jié)果 4 |
| % | 取余數(shù) | 返回除法的余數(shù) 9 % 2 = 1 |
| ** | 冪 | 又稱次方、乘方,2 ** 3 = 8 |
| 運(yùn)算符 | 描述 |
|---|---|
| == | 檢查兩個(gè)操作數(shù)的值是否 相等,如果是,則條件成立,返回 True |
| != | 檢查兩個(gè)操作數(shù)的值是否 不相等,如果是,則條件成立,返回 True |
| > | 檢查左操作數(shù)的值是否 大于 右操作數(shù)的值,如果是,則條件成立,返回 True |
| < | 檢查左操作數(shù)的值是否 小于 右操作數(shù)的值,如果是,則條件成立,返回 True |
| >= | 檢查左操作數(shù)的值是否 大于或等于 右操作數(shù)的值,如果是,則條件成立,返回 True |
| <= | 檢查左操作數(shù)的值是否 小于或等于 右操作數(shù)的值,如果是,則條件成立,返回 True |
- 邏輯運(yùn)算符
| 運(yùn)算符 | 邏輯表達(dá)式 | 描述 |
|---|---|---|
| and | x and y | 只有 x 和 y 的值都為 True,才會(huì)返回 True否則只要 x 或者 y 有一個(gè)值為 False,就返回 False |
| or | x or y | 只要 x 或者 y 有一個(gè)值為 True,就返回 True只有 x 和 y 的值都為 False,才會(huì)返回 False |
| not | not x | 如果 x 為 True,返回 False如果 x 為 False,返回 True |
- 賦值運(yùn)算符
| 運(yùn)算符 | 描述 | 實(shí)例 |
|---|---|---|
| = | 簡(jiǎn)單的賦值運(yùn)算符 | c = a + b 將 a + b 的運(yùn)算結(jié)果賦值為 c |
| += | 加法賦值運(yùn)算符 | c += a 等效于 c = c + a |
| -= | 減法賦值運(yùn)算符 | c -= a 等效于 c = c - a |
| *= | 乘法賦值運(yùn)算符 | c = a 等效于 c = c a |
| /= | 除法賦值運(yùn)算符 | c /= a 等效于 c = c / a |
| //= | 取整除賦值運(yùn)算符 | c //= a 等效于 c = c // a |
| %= | 取 模 (余數(shù))賦值運(yùn)算符 | c %= a 等效于 c = c % a |
| **= | 冪賦值運(yùn)算符 | c = a 等效于 c = c a |
- 運(yùn)算符優(yōu)先級(jí)
| 運(yùn)算符 | 描述 |
|---|---|
| ** | 冪 (最高優(yōu)先級(jí)) |
| * / % // | 乘、除、取余數(shù)、取整除 |
| + - | 加法、減法 |
| <= < > >= | 比較運(yùn)算符 |
| == != | 等于運(yùn)算符 |
| = %= /= //= -= += = *= | 賦值運(yùn)算符 |
| not or and | 邏輯運(yùn)算符 |
條件判斷語(yǔ)句
- python中任何非0和非空的值都為True, 0或者None就為False
if 語(yǔ)句的基本形式
if 判斷條件:
執(zhí)行語(yǔ)句。。。。:
else:
執(zhí)行語(yǔ)句。。。。
例如:
result = 59
if result >= 60:
print('及格')
else:
print('不及格')
chePiao = 0
if chePiao == 1:
print('有車票了,可以上火車')
else:
print('沒有車票不可以上火車')
- 從鍵盤中輸入刀子的長(zhǎng)度,如果刀子的長(zhǎng)度小于10厘米,則允許上火車,否則不允許
length = input('請(qǐng)輸入刀子的長(zhǎng)度')
length = float(length)
if length <= 10:
print('允許上火車')
else:
print('不允許上火車')
if 語(yǔ)句多個(gè)判斷形式
很多編程語(yǔ)言使用switch去判斷多個(gè)條件,python并沒有提供switch語(yǔ)句,而是使用elif來(lái)代替
格式
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
else:
以上都不滿足執(zhí)行的事情
例如:
score = 77
if score>=90 and score<= 100:
print('您的成績(jī)?yōu)閮?yōu)秀')
elif score >= 75 and score < 90:
print('您的成績(jī)良好')
elif score >= 60 and score < 70:
print('您的成績(jī)?yōu)榧案?)
elif score <60:
print('您的成績(jī)不及格')
else:
print('您輸入的成績(jī)不合法')
注意 : elif必須和if一起使用,否責(zé)會(huì)出錯(cuò)
else 可以選擇性使用,十以上條件都不滿足時(shí)要執(zhí)行的事情
if 的嵌套
if 條件1:
滿足條件1的執(zhí)行
if 條件2:
滿足條件2的執(zhí)行
- 說(shuō)明
外層的if判斷,也可以是if else
內(nèi)層的if判斷,也可以是if else
例如:
chePiao = 1 # 1 代表有車票,0代表沒車票
daoLength = 19 # 刀子的長(zhǎng)度
if chePiao == 1:
print('有車票可以上火車')
if daoLength < 10:
print('通過(guò)安檢')
else:
print('刀子超過(guò)長(zhǎng)度,沒有通過(guò)安檢')
else:
print('沒有車票不能上火車')
練習(xí):猜拳游戲
- 要求:
- 在屏幕中鍵盤輸入剪刀(0),石頭(1),布(2)
- 電腦隨機(jī)生成一個(gè)數(shù)[0,2]
- 判斷玩家和電腦猜拳輸贏的情況,并且給予顯示
from random import randint
guessl = input('請(qǐng)輸入剪刀,石頭,或布:')
computer = randint(0,2)
built = {'剪刀':0,'石頭':1,'布':2}
guess = built[guessl]
print('您出的是:',guess)
print('電腦出的是:',computer)
if guess == 0:
if computer == 0:
print('平局')
elif computer == 1:
print('您贏了')
elif computer == 2:
print('您輸了')
elif guess == 1:
if computer == 1:
print('平局')
elif computer == 2:
print('您贏了')
elif computer == 0:
print('您輸了')
elif guess == 2:
if computer == 2:
print('平局')
elif computer == 0:
print('您贏了')
elif computer == 1:
print('您輸了')
或者
···
from random import randint
while True:
player = int(input('請(qǐng)輸入石頭。。。。'))
if player not in [0,1,2]:
print('輸入錯(cuò)誤,請(qǐng)重啟代碼')
else:
computer = randint(0, 2)
if(player==0 and computer==2) or (player==1 and computer==0) or (player==2 and computer==1):
print('您贏了')
break
elif player == computer:
print('平局')
else:
print('您輸了')
···
循環(huán)
break 用于跳出本層循環(huán) continue 跳出本次循環(huán),繼續(xù)執(zhí)行下一次循環(huán)
pass 是空語(yǔ)句,用于占位
- while循環(huán)格式:
while 循環(huán)條件:
循環(huán)體
- 求 1 到 100 之間的累加和
# 定義一個(gè)于循環(huán)中自增長(zhǎng)的變量
i = 1
# 定義一個(gè)存儲(chǔ)累加和變量
sum_res = 0
while i<=100:
print('當(dāng)前執(zhí)行的是第{}次'.format(i))
sum_res += i
# 自增操作
i += 1
print(sum_res)
- 計(jì)算 1 到 100 之間偶數(shù)的累加和
i= 1
sum_res = 0
while i<=100:
if i%2 == 0:
sum_res += i
i +=1
print(sum_res)
- 累加和大于1000時(shí)輸出 sum_res
i= 1
sum_res = 0
while i<=100:
sum_res += i
if sum_res > 1000:
break
i +=1
print(sum_res)
while 循環(huán)的嵌套
在控制臺(tái)中輸出下面圖形
&
& &
& & &
& & & &
& & & & &
里層循環(huán)負(fù)責(zé)每一行的輸出, 外層循環(huán)負(fù)責(zé)換行
i = 1
while i<=5:
j = 1
while j<=i:
print('* ',end='')
j +=1
print(end='\n')
i +=1
- 再次打印九九乘法表
i = 1
while i<=9:
j = 1
while j<=i:
product = i*j
print(j,'*',i,'=',product,' ',end='')
j +=1
print(end='\n')
i +=1
for循環(huán)
語(yǔ)法格式:
for iterating_var in sequence:
statements(s)
- 取出字符串
for zifuchuan in '任嘉俊韓雷吳楠':
print(zifuchuan,end='\t')
name = '任嘉俊韓雷吳楠'
i = 0
while i < len(name):
print(name[i])
i +=1
# 上面的循環(huán)無(wú)法進(jìn)行計(jì)數(shù)
# for 循環(huán)的計(jì)數(shù)
print(list(range(10)))
for x in range(10):
print(x)
- 九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print('%d * %d=%d '%(j,i,i*j),end='')
print()
- 猜數(shù)字游戲
1 范圍數(shù)字(0,100)
電腦生成數(shù)字
猜這個(gè)數(shù)字,提示猜大了還是猜小了,直到猜對(duì)結(jié)束
from random import randint
computer = randint(0, 100)
while True:
guess_num = int(input('請(qǐng)輸入一個(gè)(0,100)內(nèi)的數(shù)字:'))
i = 0
i += 1
print('次數(shù):', i)
if guess_num > computer:
print('您猜大了')
elif guess_num == computer:
print('恭喜您猜對(duì)了')
elif guess_num < computer:
print('您猜小了')
作業(yè)
- 我想買車,買什么車決定于我在銀行有多少存款
如果我的存款超過(guò)500萬(wàn),我就買路虎
否則,如果我的存款超過(guò)100萬(wàn),我就買寶馬
否則, 如果我的存款超過(guò)50萬(wàn),我就買邁騰
否則, 如果我的存款超過(guò)10萬(wàn),我就買福特
否則, 如果我的存款10萬(wàn)以下 ,我買比亞迪
money = int(input('查看我的存款:'))
if money >= 500:
print("買路虎")
elif money >= 100 and money < 500:
print("買寶馬")
elif money >= 50 and money < 100:
print("買邁騰")
elif money >= 10 and money < 50:
print("買福特")
else:
print("買比亞迪")
2) 輸入小明的考試成績(jī),顯示所獲獎(jiǎng)勵(lì)
成績(jī)==100分,爸爸給他買輛車
成績(jī)>=90分,媽媽給他買MP4
90分>成績(jī)>=60分,媽媽給他買本參考書
成績(jī)<60分,什么都不買
score = int(input('小明的考試成績(jī):'))
if score == 100:
print("考了滿分,爸爸給他買輛車。")
elif score >= 90 and score < 100:
print("考了90分以上,媽媽給他買MP4")
elif score >= 60 and score < 90:
print("及格了,媽媽給買他參考書")
else:
print("成績(jī)不及格,什么都不買")