您好,登錄后才能下訂單哦!
語法:
range(start,end[,step])
參數說明:
注意:
在Python2中我們查看range()函數幫助可以看到它返回的是一個列表: Return a list containing an arithmetic progression of integers.
而在Python3中,range()函數的幫助可以看到返回的是一個整數序列的對象,而不是列表:Return an object that produces a sequence of integers
舉栗子:
1.當start小于end時:(步長為正數)
>>>range(10) # 從 0 開始到 9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(0)
[]
>>> range(1, 10) # 從 1 開始到 9
[1, 2, 3, 4, 5, 6, 7, 8, 9,]
>>> range(0, 30, 5) # 步長為 5
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3) # 步長為 3
[0, 3, 6, 9]
>>> range(0,10,-2) #錯誤的步長
[]
2.當start大于end時:(步長要為負數)
>>> range(10,0,-1) #步長為-1
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> range(0,-10,-2) #步長為-2
[0, -2, -4, -6, -8]
>>> range(0,-10,2) #錯誤的步長
[]
>>> range(1, 0) #錯誤的步長
[]
語法格式:
(1).
for 變量 in 序列:
語句1
語句2
...
(2).
for 變量 in range(10):
語句1
語句2
...
else:
循環體正常結束后接著執行的語句
若在for循環體中執行了break,直接跳出循環,else后的語句不會被執行。
舉栗子:
(1).累加1~100
sum = 0
for i in range(1,101):
sum = sum + i
print(sum)
程序執行結果為:
5050
(2).求1~100之間所有偶數的和;求1~100之間所有奇數的和
sum1=0
sum2=0
for i in range(2,101):
if i%2 == 0:
sum1+=i
else:
sum2+=i
print('1~100所有偶數和:%d\n1~100所有奇數和:%d' %(sum1,sum2))
(3).用戶輸入一個×××數, 求該數的階乘; 如3!=321=6
sum3=1
x=int(input('請輸入階乘數:'))
if x>0:
for i in range(1,x+1):
sum3*=i
print('%d的階乘為:%d' %(x,sum3))
else:
print('請輸入有效的數字!')
(4).輸入用戶帳號密碼,判定是否正確,連續三次錯誤不可再次輸入
for i in range(3):
name=input('請輸入帳號:')
passwd=input('請輸入密碼:')
if name=='root' and passwd=='redhat':
print('登陸成功!')
break
else:
print('帳號或密碼錯誤!')
else:
print('輸入錯誤次數達到三次,請稍后重試!')
程序測試執行:
(1).
while 條件語句:
滿足條件執行的語句
(2).
while 條件語句:
滿足條件執行的語句
else:
條件不滿足后執行的語句
若在while循環體中執行了break,直接跳出循環,else后的語句不會被執行。
舉栗子:
(1).計算累加1~100
i = 1
while i <=100:
sum += i
i += 1
print(sum)
程序執行結果為:
5050
(2).模擬linux的shell
import os
cmd=''
while True:
cmd=input('[root@host dir]#')
if cmd=='exit':
print('\n程序已經退出cmd模式!\n')
break
elif cmd=='logout':
print('\n已經退出本程序!\n')
exit()
else:
print('\n正在運行命令:%s\n' %cmd)
os.system(cmd)
程序測試執行:
(3).求兩個數的最大公約數和最小公倍數
x,y=input('請輸入兩個數(以,分隔):').split(',')
x=int(x)
y=int(y)
min=x if x<y else y
max=x if x>y else y
if max%min==0:
xmin=min
xmax=max
else:
i=int(min/2)
while i > 0:
if min%i==0 and max%i==0:
xmin=i
xmax=(x*y)/xmin
break
else:
i-=1
print('最大公約數:%d \n最小公倍數:%d' %(xmin,xmax))
程序測試執行:
(4).用while循環實現for循環的題(4)
count=0
while count<3:
x,y=input().split(' ')
if x=='root' and y=='westos':
print('logined')
break
else:
count+=1
else:
print('3 times ')
程序測試執行:
(5).猜數字游戲
import random
answer=random.randint(1,100)
count=1
guess=int(input('你有5次機會,猜一猜這個100以內的整數是:'))
while count<5:
if guess==answer:
print('nice!你猜對了,然而并沒有什么獎勵!')
break
else:
if guess > answer:
print('你猜的數字有點大哦,加油!')
else:
print('你猜的數字有點小哦,加油!')
print('你還有%d此機會,在猜:' %(5-count),end="")
guess=int(input())
count+=1
else:
print('豬啊,5次機會用完了!這個數是%d!' %answer)
(1).bool值
while True:
pass
(2).數值
while 1:
pass
(3).永真條件
while 2>1:
pass
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。