for語句
作用:用來遍歷可迭代物件的資料元素
可迭代物件是指能依次獲取資料元素的物件
可迭代物件包括:
------以下以後再講------
語法:
for 變數列表 in 可迭代物件:
語句塊1
else:
語句塊2
示例:
s = 'abcde'
for ch in s:
print('ch-->>',ch)
else:
print('可迭代物件已經不能再提供資料了!')
print('程式結束')
#輸出結果如下:
ch-->> a
ch-->> b
ch-->> c
ch-->> d
ch-->> e
可迭代物件已經不能再提供資料了!
程式結束
練習:
1、任意輸入乙個字串:
mystr = input('輸入一串字串:')
a_count = 0
for char in mystr:
if char == 'a':
a_count += 1
else:
print('空格的數量是:',mystr.count(' '))
print('a的數量是:',a_count)
mystr = input('輸入一串字串:')
a_count = 0
i=0while i< len(mystr)
char =mystr[i]
if char == 'a':
a_count += 1
i+=1
else:
print('空格的數量是:',mystr.count(' '))
print('a的數量是:',a_count)
range函式
格式:見》help(range)
函式range(stop):從零開始,每次生成乙個整數後加1操作,直到stop為止(不包含)
range(star,stop[,step]):從start開始,每次生成乙個整數後移動step,直到stop為止(不包含stop,且step可以是負整數)
作用:用來建立乙個生成一系列整數的可迭代物件(也叫整數序列生成器)
示例
range(4) #生成 0,1,2,3
range(3,6) #生成 3,4,5
range(1,10,2) #生成 1,3,5,7,9
for i in range(5):
print(i)
練習:用for語句列印1~20,列印在一行內
用for語句列印1~20,每5個列印在一行內
for i in range(1, 21):
print(i, end=' ')
else:
print()
for i in range(1, 21):
print(i, end=' ')
if i % 5 == 0:
print()
練習:求100以內在那些數與自身+1的乘積對11求餘的結果等於8
計算1+3+5+7+....+97+99的和分別用for迴圈和while語句來實現
for i in range(100):
if (i * (i + 1)) % 11 == 8:
print( i )
#for
sum=0
for i in range(1,100,2):
sum+=i
else:
print(sum)
#while
sum=0
i=1while i< 100:
sum+=i
i+=2
else:
print(sum)
for語句的注意事項:
請問下面程式的列印結果是什麼:
i=6
for x in range(1, i):
print('x=',x,'i=',i)
i -= 1 #<<<---注意此處
結果:x= 1 i= 6
x= 2 i= 5
x= 3 i= 4
x= 4 i= 3
x= 5 i= 2
range函式為一次性函式,執行過一次之後,返回結果後,不再執行
for語句的巢狀
示例:
for x in 'abc':
for y in '123':
print(x + y)
練習:
輸入乙個整數n,列印乙個對應的正方形:
如:請輸入5
列印:1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
輸入乙個整數n,列印乙個對應的正方形:
如:請輸入5
列印:1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
n = int(input('請輸入乙個數字:'))
for i in range(1,n+1):
for j in range(1,n+1):
print(j, end=' ')
print()
n = int(input('請輸入乙個數字:'))
for i in range(n):
for j in range(i + 1,i + n + 1):
print('%02d' % j, end=' ')
print()
continue語句
用於迴圈語句(while,for語句)中,不再執行本次迴圈continue之後的語句,重新開始一次新的迴圈
說明:在for語句中執行continue語句,將會從迭代物件中取下乙個元素,繫結變數後再次執行
在while語句中執行continue,將會直接跳轉到while語句的真值表示式處重新判斷迴圈條件
練習:輸入乙個起始數用start繫結,輸入乙個結束數用stop繫結,列印start到stop(不包含stop)內的所有奇數(用什麼方法都可以)
start=int(input('start:'))
stop=int(input('stop:'))
for i in range(start,stop):
if i%2==1:
print(i)
for i in range(start,stop):
if i%2==0:
continue
print(i)
練習:求1~100之間所有不能被5/7/11整除的數以及這些數的和
sum=0
i=1while i<100:
if (i%5==0) or (i%7==0) or (i%11==0):
i+=1
continue
print(i)
sum+=i
i+=1
print(sum)
列表的定義:
建立空列表的字面值
l= #l變數繫結空列表
建立非空列表的字面值
l=[1,2,3,4]
l=['beijing','shanghai','shenzhen']
l=[1,'two',3.14,'四']
列表的建構函式 list
list() #生成乙個空的列表
list(iteable) #用可迭代物件建立乙個列表
方法
意義
l.index(v [, begin[, end]])
返回對應元素的索引下標, begin為開始索引,end為結束索引,當 value 不存在時觸發valueerror錯誤
l.insert(index, obj)
將某個元素插放到列表中指定的位置
l.count(x)
返回列表中元素的個數
l.remove(x)
從列表中刪除第一次出現在列表中的值
l.copy()
複製此列表(只複製一層,不會複製深層物件)
向列表中追加單個元素
l.extend(lst)
向列表追加另乙個列表
l.clear()
清空列表,等同於 l[:] =
l.sort(reverse=false)
將列表中的元素進行排序,預設順序按值的小到大的順序排列
l.reverse()
列表的反轉,用來改變原列表的先後順序
l.pop([index])
刪除索引對應的元素,如果不加索引,預設刪除最後元素,同時返回刪除元素的引用關係
python學習筆記(5) for和while
可以讓計算機重複和自動的執行 一 for.in.迴圈語句 for i in range 1,5 print str i 取錢 print i 4 列表 for in in 1,2,3,4,5 print str i 取錢 print i 5 字典city for i in city print i ...
python3筆記5 迴圈語句
在python中的迴圈語句有for迴圈和while迴圈。一 for迴圈 for迴圈可以遍歷自己想要的任何序列的專案,比如列表,字典,元組,字串等。1 for迴圈的一般格式for 變數 in 序列 塊 如下舉例 names alice tom rose edison for name in names...
go學習記 (8)迴圈
字串遍歷package main import fmt func main 解決辦法 var str1 string 你好 str2 rune str1 for i 0 i len str2 i for range 預設使用字元方式遍歷,因此有中文也是ok的 for index,val range ...