Python Day 7

回顧:

字符串

編碼轉(zhuǎn)換

ord(x)

chr(x)

整數(shù)轉(zhuǎn)字符串的函數(shù):

hex(i)

oct(i)

bin(i)

字符串的構(gòu)造(創(chuàng)建)函數(shù)

str(x)

int(x)

bool(x)

float(x)

complex(x)

while語句

day06:

for 語句:

for 語句用來遍歷(每個對象能夠查看并只查看一遍)序列或可迭代對象的每一個元素

可迭代對象是指有多個數(shù)據(jù)組合在一起的對象

包括:

字符串? ? str

-------以后后邊會學(xué)--------

列表? ? ? list

元祖? ? ? tuple

字典? ? ? dict

集合? ? ? set

固定集合? frozenset

生成器等

for 的語法

for 變量列表? in 可迭代對象或生成器:

語句1

.....

else:

語句2

.....

示例:

s = 'hello'

for ch in s:

print(ch)

else:

print('對象不能再提供數(shù)了,結(jié)束')

語法說明:

1.變量依次用可迭代對象的每次給出的元素依次賦值,然后執(zhí)行語句

2.可迭代對象迭代完所有的元素后,執(zhí)行else子句部分語句后退出循環(huán)

3.else子句部分可以省略(同while語句類似)

4. 語句1的執(zhí)行次數(shù)與可迭代對象的元素個數(shù)有關(guān)

5.當(dāng)在循環(huán)內(nèi)部用break終止循環(huán)時,else子句部分語句不會執(zhí)行

for? 練習(xí):

任意輸入一段字符串:

計算出輸入字符'a'的個數(shù),并打印出個數(shù)

計算出空格的個數(shù),并打印個數(shù)

(不能使用S.count方法)

思考:

用while語句能否實現(xiàn)上述功能

x = input('請輸入一段字符:')

i = 0

space = 0

for y in x:

if y == 'a':

i += 1

elif y ==" ":

space += 1

print('輸入的a的數(shù)量為:',i,'輸入空格的數(shù)量:',space)

range()函數(shù):

格式

rang(stop)? 從零開始,每次生成一個整數(shù)后加一操作,直到stop為止(不包含stop)

range(start,stop[,step])從start開始,每次生成一個整數(shù)后移動step,直到stop為止(不包含stop,且stop可以是負(fù)數(shù))

作用:

用來生成一個可迭代的是、整數(shù)序列生成器對象

示例:

range(4)? #生成?。啊。薄。病。?/p>

range(-100)#生成空  因為是從0 開始

range(3,6) #3.4.5

range(1,10,2) #1 3 5 7 9

示例練習(xí):

用for語句打?。保玻埃蛴≡冢毙袃?nèi)

for i in range(1,21):

if i == 20:

print(i)

else:

print(i,end= ' ')

練習(xí):

1.輸入一個字符串,從尾向頭輸出這個字符串的字符

如:

#python3? ....py

請輸入:hello

o

l

l

e

h

思考:用while能不能實現(xiàn)?

s = input('請輸入字符串:')

for i in range(len(s)-1,-1,-1):

print(s[i])

s = input('請輸入字符串:')

for x in s[::-1]:

print(x)

s = input('請輸入字符串:')

index = len(s)-1

while index >= 0:

print(s[index])

index = index - 1

練習(xí):

1.計算1+3+5+7+...+99的和

# s = 0

# for y in range(1,100,2):

#? ? if y < 100:

#? ? ? ? s = s + y

# print(s)

# x = int(input('請輸入一個數(shù),來計算該數(shù)以內(nèi)全部數(shù)字之和'))

# s = 0

# for y in range(1,x):

#? ? if y < 100:

#? ? ? ? s = s + y

# print(s)

# x = int(input('請輸入一個數(shù),來計算該數(shù)以內(nèi)全部數(shù)字之和'))

# s = 0

# for y in range(1,x,2):

#? ? if y < 100:

#? ? ? ? s = s + y

# print(s)

x = 1

a = 0

while x < 100:

a += x

x += 2

print(a)

for 語句的嵌套

指for語句內(nèi)含有for語句

例:

for x in 'ABC':

for y in '123':

print(x + y)

for shi in range(1,10):

for ge in range(10):

print(shi * 10 + ge)

內(nèi)部循環(huán)先走,走完在走外邊的循環(huán)

思考:打印如下矩形

12345

23456

34567

45678

56789

n = int(input('請輸入一個數(shù):'))

#? begin = 1

#? 用外重循環(huán)來控制打印的行數(shù),同時改變開始值begin

for begin in range(1,n + 1):

?!〈蛴∑渲幸恍?begin為行的開始值

for x in range(begin,begin + n):

print(x,end='')

print()

用while語句打?。?3,5,7,...,19

將上題用for語句來實現(xiàn)

a = 1

while a <= 20:

print(a,end=' ')

a += 2

for x in range(1,20,2):

print(x)

continue? 語句:

作用:

用于循環(huán)語句中(while,for語句)中,不再執(zhí)行本次循環(huán)內(nèi)chontinue之后的語句,重新開始一次新的循環(huán)

例:

for x in range(10):

if x == 3:

continue

print(x)

示例:

打印10 以內(nèi)的整數(shù):

for x in range(10):

while示例:

x = 0

while x < 10:

if x ==3:

continue

print(x)

x += 1

從新開始之前記得改變循環(huán)變量?。。?!

示例:

?!〈蛴。保耙詢?nèi)的偶數(shù):

用while循環(huán)跳過奇數(shù)實現(xiàn)

x = 1

while x <= 10:

if x % 2 == 1:

x += 1

continue

print(x)

x += 1

continue語句說明

在while語句中執(zhí)行continue語句,將會直接跳轉(zhuǎn)到while語句的真值表達(dá)式處從新開始新的循環(huán)

在for語句中執(zhí)行cintinue語句將會從可迭代對象中取下一個綁定變量后再次進(jìn)入

循環(huán)總結(jié):

while語句

for語句

break語句

continue語句

練習(xí):

用字符串*號打印三角形

要求輸入整數(shù),此整數(shù)代表三角形的高度

如:  ?。?/p>

*

***

*****

4

*

***

*****

*******

x = int(input('請輸入一個整數(shù):'))

h = 1? ? ? ? ? ? ? ? ? ? ? ? # 行數(shù)

space = x * 2 + 1            # 空格字符數(shù)

while h < x:

star = '*' * (h * 2 - 1)? ? # 星星數(shù)量

S = star.center(space,' ')  # 綜合星星空格數(shù)量輸出一行

print(S)

h += 1                   # 循環(huán)進(jìn)入第二行

輸入unicode起始值到變量begin

輸入unicode的終止值到變量end

打印這些編碼所對應(yīng)的文字,結(jié)果如下:1

請輸入起始值:48

請輸入終止值:59

十進(jìn)制編碼      十六進(jìn)制編碼    文字

40               0x30? ? ? 0

49? ? ? ? ? ? ? 0x31? ? ? 1

.......

請輸入起始值:20000

請輸入終止值:20010

十進(jìn)制編碼      十六進(jìn)制編碼    文字

20000            0x4e20? ? ? .。

.......

3.假設(shè)用戶信息為:

用戶名:tarena

密碼:  123456

驗證碼:a1b2

當(dāng)用戶輸入任何一項錯誤的時候就開始讓用戶從新輸入,直到輸入正確為止

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • Python 是一種相當(dāng)高級的語言,通過 Python 解釋器把符合語法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機器碼...
    Python程序媛閱讀 2,039評論 0 3
  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫完項目接著寫寫一名3年工作經(jīng)驗的J...
    燕京博士閱讀 7,799評論 1 118
  • 這里簡要地整理下Linux用來處理數(shù)據(jù)文本的工具。具體命令詳情請在Linux命令大全中搜索或者查閱其他相關(guān)資料。 ...
    王詩翔閱讀 789評論 0 5
  • 只是簡單的希望你一切平安,一切安好! 從小時候的懵懵懂懂到現(xiàn)在的隨遇而安,一切都是美好的。只是,身邊再也沒有你……...
    XXXJBLACK閱讀 229評論 0 1
  • 2017年,我對你的感情又該何去何從。無法做到波平如鏡,反而放縱自己解鎖你的生日,一遍又一遍印刻心中,手機相冊依然...
    寒柒閱讀 394評論 0 1

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