Python格式化輸出、標(biāo)識(shí)符和保留字、關(guān)鍵字、變量的命名規(guī)則、以及運(yùn)算符

  • 格式化輸出format的使用
    ''.format() 是 使用{} 去代替?zhèn)鹘y(tǒng)的%
    格式:<模板字符串>.format(<逗號(hào)分隔符的參數(shù)>) {} 類似于生活中槽的概念
name = '魯班七號(hào)'
grade = 14
print('當(dāng)前使用英雄為{},當(dāng)前等級(jí)為{}'.format(grade,name))
  • f-string
    是python3.6中定義的一種參數(shù)化字符串的方式,主要目的是讓字符串格式化更加便捷
    使用{}標(biāo)識(shí)變量,但是不是使用{}進(jìn)行站位,而是直接寫入變量名
name = '魯班七號(hào)'
grade = 14
print(f'當(dāng)前英雄為{name},當(dāng)前等級(jí)為{grade}')
  • 練習(xí):
    在控制臺(tái)依次提示用戶輸入:姓名、公司、職位、電話、郵箱
gs = input('請(qǐng)輸入您的公司名稱:')
name =input('請(qǐng)輸入您的姓名(職位):')
phone = input('請(qǐng)輸入您的電話:')
email = input('請(qǐng)輸入您的email:')
print(f'公司名稱是{gs}\n名字:{name}\nphone:{phone}\nemail{email}')

標(biāo)識(shí)符和保留字

標(biāo)識(shí)符

標(biāo)識(shí)符就是程序員自己命名的變量名。原則上標(biāo)識(shí)符的命名要有見名知意的效果

  • 標(biāo)識(shí)符可以由字母、下劃線組成
  • 不能以數(shù)字開頭
  • 不能與保留字重復(fù)
保留字
  • 關(guān)鍵字就是在 Python 內(nèi)部已經(jīng)使用的標(biāo)識(shí)符
  • 關(guān)鍵字具有特殊的功能和含義
  • 開發(fā)者不允許定義和關(guān)鍵字相同的名字的標(biāo)示符
#查看 Python 中的關(guān)鍵字
import keyword
keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break','class','continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if',
'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try','while',
'with', 'yield']
變量的命名規(guī)則

規(guī)范的命名是為了增加代碼的可讀性

  1. 下劃線命名法 原則:每個(gè)單詞都要小寫,單詞之間使用_連接
  2. 駝峰式命名法
    1)小駝峰:小寫字母開始,后續(xù)單詞首字母大寫
    2)大駝峰:每個(gè)單詞首字母都采用大寫的方式

運(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

算術(shù)運(yùn)算符

運(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)算符中間不能使用空格

運(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)算符

條件語句

條件判斷語句 Python中任何非0 和非空None的值都為True, 0或者None就為False
if 語句的基本形式:

if 判斷條件:
   執(zhí)行語句...
else:

實(shí)例:

result = 59
if result >=60:
    print('及格')
else:
    print('不及格')

#下面這樣寫同樣成立
num = 20
if num :
    print('if執(zhí)行了')
num = 22
if True:
    print('ifTrue執(zhí)行了')
chePiao =1 #1代表有車票0代表沒有車票
if chePiao ==1:
    print('有車票,可以上火車')
    print('終于可以見到他了,美滋滋···')

else:
    print('沒有車票,不可以上車')
cm = input('請(qǐng)輸入刀子的長(zhǎng)度')
cm = int(cm)
if cm <= 10:
    print('允許上火車')
else:
    print('不允許上火車')

if 語句多個(gè)判斷的形式

很多編程語言使用switch 去判斷多個(gè)條件
python 并沒有提供switch語句,而是使用elif來代替
格式:

if xxx1:
   事情1
elif xxx2:
  事情2
elif xxx3:
  事情3
else:
  以上都不滿足執(zhí)行的事情

實(shí)例:

score =int(input('請(qǐng)輸入您的成績(jī)'))
if score >= 90 and score <=100:
    print('您的成績(jī)優(yōu)秀?。?)
elif score>=75 and score < 90:
    print('您的成績(jī)良好?。。?)
elif score>=60 and score < 75:
    print('您的成績(jī)及格?。。?)
elif score >=0 and score < 60:
    print('您的成績(jī)不及格?。?!')
else:
    print('您輸入的成績(jī)不合法')
  • 注:注意elif 必須和 if 一起使用 ,否則會(huì)出錯(cuò)
    else 可以選擇性使用,是以上條件都不滿足時(shí)要執(zhí)行的事情

if的嵌套

if 條件1:
    滿足條件1執(zhí)行的事情
    if 條件2:
        滿足條件2執(zhí)行的事情
  • 注:外層的if判斷,也可以是if else,內(nèi)層的if判斷, 也可以是if else
    實(shí)例1:
checktick = 1#1代表有車票0代表沒車票
daolenth = 11#刀子的長(zhǎng)度
if checktick ==1:
    print('有車票,可以上火車')
    if daolenth < 10:
        print('通過安檢')
        print('終于可以見到他了,美滋滋···')
    else:
        print('沒通過安檢')
        print('刀子超過規(guī)定長(zhǎng)度,不想允許ton過')
else:
    print('沒有車票,不可以上火車')
    print('下次再見')

實(shí)例2:猜拳游戲
要求:
1)在屏幕中輸入 剪刀(0),石頭(1),布(2)
2)電腦隨機(jī)生成一個(gè)數(shù)[0,2]
3)判斷玩家和電腦猜拳輸贏的情況并且給予顯示

from random import randint
generate_num =int(input('請(qǐng)輸入猜拳代碼:'))
diannao_num = randint(0,2)
if generate_num ==0:
    if diannao_num == 0:
        print('電腦出的是{}'.format(diannao_num),'這把平局',print(diannao_num))
    elif diannao_num ==1:
        print('電腦出的是{}'.format(diannao_num),'您輸了?。?!')
    elif diannao_num ==2:
        print('電腦出的是{}'.format(diannao_num),'您贏了?。?!')
if generate_num ==1:
    if diannao_num == 0:
        print('電腦出的是{}'.format(diannao_num),'您贏了?。。?)
    elif diannao_num == 1:
        print('電腦出的是{}'.format(diannao_num),'這把平局')
    elif diannao_num ==2:
        print('電腦出的是{}'.format(diannao_num),'您輸了?。?!')
if generate_num ==2:
    if diannao_num == 0:
        print('電腦出的是{}'.format(diannao_num),'您輸了?。。?)
    elif diannao_num == 1:
        print('電腦出的是{}'.format(diannao_num),'您贏了?。?!')
    elif diannao_num == 2:
        print('電腦出的是{}'.format(diannao_num),'這把平局')

#改進(jìn)版
from random import randint
player = int(input('剪刀(0),石頭(1),布(2)'))
computer = randint(0,2)
if (player==0 and computer ==2)or(player==1 and computer ==0)or(player ==2 and computer ==1):
    print('贏了')
elif player ==computer:
    print('平局')
else :
    print('你輸了')

循環(huán)語句

一般編程語言都有循環(huán)語句,循環(huán)語句允許我們執(zhí)行一個(gè)語句或語句組多次

循環(huán)控制語句 描述
break 在語句塊執(zhí)行過程中終止循環(huán),并且跳出整個(gè)循環(huán)
continue 在語句塊執(zhí)行過程中終止當(dāng)前循環(huán),跳出該次循環(huán),執(zhí)行下一次循環(huán)
pass pass 是空語句,是為占位

while循環(huán)的格式

while 循環(huán)條件:
      循環(huán)體

實(shí)例1:求1-100之間的累加和

#定義一個(gè)循環(huán)中自增長(zhǎng)的變量
i = 0
#定義一個(gè)存儲(chǔ)累加和變量
sum_res = 0
while i <= 100:
    sum_res += i
    i += 1    #自增操作
print(sum_res)

實(shí)例2:計(jì)算1-100之間偶數(shù)的累加和

i = 0
sum_res = 0
while i <= 100:
    if i%2 ==0:
        sum_res += i
    i += 1
print(sum_res)

實(shí)例3:計(jì)算1-100之間奇數(shù)的累加和

i = 0
sum_res = 0
while i <= 100:
    if i%2 ==0:
        i += 1
        continue
    sum_res += i
    i += 1
print(sum_res)

while的循環(huán)嵌套

要求:
在控制臺(tái)中輸出下面圖形

*

**

***

****

*****

#(1)
i = 1
while i <= 5:
    print('*'*i)
    i += 1
#里層循環(huán)負(fù)責(zé)每一行的輸出,外層循環(huán)負(fù)責(zé)換行
#(2)
i = 1
while i <=5 :
    j = 1
    while j <= i :
        print('*',end='')
        j += 1
    #外層循環(huán)負(fù)責(zé)換行
    print()
    i += 1
  • 打印九九乘法表
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print('{}x{}={}'.format(i,j,i*j),end=' ')
        j += 1
    print()
    i +=1
  • 在猜拳的游戲基礎(chǔ)上,輸和平局會(huì)一直猜拳,贏了才結(jié)束游戲
from random import randint
while True:
    player = int(input('請(qǐng)輸入剪刀(0),石頭(1),布(2)所對(duì)應(yīng)的數(shù)字:'))
    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('平局,再來一次吧')
        # continue
    else:
        print('你輸了,再來一次吧')

for 循環(huán)

語法格式 iterable 可迭代的

for iterrable_var in sequence:
    statements(s)

實(shí)例1:

#取出字符串
for zifuchuan in '任嘉俊韓蕾吳楠':
    print(zifuchuan, end=' ')

#上面的循環(huán)無法進(jìn)行計(jì)數(shù)

實(shí)例2:

name = '任嘉俊韓蕾吳楠'
i = 0
while i <len(name):
    print(name[i])
    i += 1

實(shí)例3:for打印九九乘法表

for i in range(1, 10):
    j = 1
    for j in range(1,i+1):
        print('{}x{}={}'.format(j,i,i*j),end=' ')
        j += 1
    print()
    i += 1

實(shí)例4:

猜數(shù)字游戲
from random import randint
diannao_num = randint(0, 101)
while True:
    genarate_num = int(input('請(qǐng)輸入您猜的數(shù)字:'))
    if genarate_num == diannao_num:
        print('您猜對(duì)了')
        break
    elif genarate_num > diannao_num:
        print('您猜大了')
    elif genarate_num < diannao_num:
        print('您猜小了')

作業(yè)
1.輸入n的值,求出n的階乘

n = int(input('請(qǐng)輸入您的值:'))
x = 1
for i in range(1, n+1):
    x *= i
print(x)

2.折紙上月球
大家都看過科幻片《火星救援The Martian》吧,電影里航天員們?cè)谔罩信龅礁鞣N情況都是靠計(jì)算機(jī)模擬、計(jì)算來解決問題的。
我們?cè)诘厍蛏弦部梢钥扛叽笊系腜ython語言來解決問題。現(xiàn)在問題來了:我們都知道,月亮在一個(gè)橢圓形的軌道上繞地球公轉(zhuǎn),因此兩者的距離是不斷變化的,它們的最小距離是363300公里?,F(xiàn)在我們都想去月球旅游(地球玩膩了,想換個(gè)口味),但是坐火箭上天一次就帶辣么幾個(gè)人,我們等不及。好消息,好消息,廠家現(xiàn)在開發(fā)出逆天神技——折紙上月球!
只需一張很大的A4紙,厚度為0.088毫米,折一次就0.176毫米,折兩次就0.352毫米……多折幾次就很高了。
穿上沖鋒衣,拿上登山杖,帶上自拍桿,我們爬著就可以上月球發(fā)朋友圈了。我就想問一句:要上月球,我們到底需要折多少次?

x = 0
n1 = 0.088
n2 = 363300000000
while True:
    m = n1*(2**x)
    x += 1
    if m >= n2:
        break

print(x)

3.籃球彈跳高度的計(jì)算
書呆子就是書呆子,打個(gè)籃球腦子也不閑著。這種人說好聽的叫‘geek’,說不好聽的就是叫‘nerd’。
這不,書呆子看著籃球在想:如果籃球從某一高度落下,每次落地后反彈回原來高度的一半再落下。
那么球在第10次落地時(shí),共經(jīng)過多少米呢? 第10次反彈多高? (你問我這個(gè)題是不是瞎編的?當(dāng)然是了,你什么時(shí)候見過書呆子打籃球?)
輸入:輸入一個(gè)整數(shù)h,單位是米,表示球的初始高度。
輸出:輸出包含兩行:
第1行:到球第10次落地時(shí),一共經(jīng)過的距離。
第2行:第10次彈跳的高度。
例如輸入:20 對(duì)應(yīng)輸出:第一行:59.921875 第二行:0.01953125

h = int(input('初始高度設(shè)定為:'))
s = 0#共經(jīng)過多少米
x = 0#反彈高度
i = 0#第幾次彈射
while i <= 8:
    s += (0.5**i)*h
    i += 1
s = s + h
x = (0.5**(i+1))*h
print('到球第10次落地時(shí),一共經(jīng)過的距離{}\n第10次彈跳的高度{}'.format(s, x))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容