文章目录
1、range() 函数的使用
range() 函数相当于产生一个数组。
程序:
# range()的三种创建方式
'''第一种创建方式,只有一个参数'''
r1 = range(10) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 默认从0开始,左闭右开,步长为 1
print(r1)
print(list(r1))
'''第二种创建方式,两个参数'''
r2 = range(1,10)# 从1开始,左闭右开
print(list(r2))
'''第三种创建方式,三个参数'''
r3 = range(1,10,2)# 从1开始,左闭右开,步长为2
print(list(r3))
# 判断数字是否在序列中,in 、 not in
print(4 in r3)
print(4 not in r3)
输出:
range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 3, 5, 7, 9]
False
True
2、while 循环
程序:
# while 循环
a = 1
while a<10:
print(a)
a+=1
输出:
1
2
3
4
5
6
7
8
9
程序:
# 等差数列求和 1 2 3 4
sum = 0
b = 1
while b <= 4:
sum+=b
b+=1
print('sum = ',sum,'b = ', b)
输出:
sum = 10 b = 5
程序:
# 计算1-100之间的偶数和
sum = 0
a = 1
while a <=100:
if a%2 == 0:
sum += a
a+=1
print('sum = ',sum)
输出:
sum = 2500
3、for-in
程序:
# 先将 P 赋值给 item,再将 y...
for item in 'Python':
print(item)
# range() 产生一个整数数列,是一个可迭代对象
for i in range(10):
print(i)
# 如果在循环体中不需要使用到自定义变量,可将自变量写为“_”
for _ in range(5):
print('人生苦短,我用C++')
# 使用 for 循环,计算1-100之间的偶数和
sum = 0
for item in range(1,101):
if item%2 == 0:
sum+=item
print('sum = ',sum)
输出:
P
y
t
h
o
n
0
1
2
3
4
5
6
7
8
9
人生苦短,我用C++
人生苦短,我用C++
人生苦短,我用C++
人生苦短,我用C++
人生苦短,我用C++
sum = 2550
Process finished with exit code 0
求 100-999的水仙花数例题:
# 求 100 - 999 之间的水仙花数
'''
各位^3+十位^3+百位^3 = 原数值
'''
a = 100
while a <= 999:
gewei = a % 10
shiwei = a // 10 % 10
baiwei = a // 100
# print(baiwei,shiwei,gewei)
if gewei**3+shiwei**3+baiwei**3 == a:
print(a)
a+=1
for a in range(100,1000):
gewei = a % 10
shiwei = a // 10 % 10
baiwei = a // 100
# print(baiwei,shiwei,gewei)
if gewei ** 3 + shiwei ** 3 + baiwei ** 3 == a:
print(a)
153
370
371
407
153
370
371
407
4、break、continue 与 else 语句
break
while循环案例:
# 键盘录入密码,三次机会
count = 3
while count > 0:
pwd = input('请输入密码,您还有'+str(count)+'次机会')
if pwd == '123':
print('密码正确!')
break
print('密码错误!')
count-=1
if count:
print('开始操作。')
else:
print('账号锁定,请去柜台解锁。')
for-in循环案例:
# 键盘录入密码,三次机会
for item in range(3):
psw = input('输入密码,您还有'+str(3-item)+'次机会')
if psw == '123':
print('密码正确。')
print('开始操作')
break
if item == 2:
print('去柜台解锁。')
continue
程序:
# 输出 1-50 所有5的倍数
for item in range(1,51):
if item % 5 == 0:
print(item,'是5的倍数')
# 使用continue
for item in range(1,51):
if item % 5 != 0:
continue
print(item,'是5的倍数')
else
for … else…
'''在其他语言中,else只能与if连用,但是在Python中
else还可以与for和while循环连用,它们表示循环的总体
'''
# 还是输入密码
for item in range(3):
psw = input('输入密码: ')
if psw == '123':
print('密码正确。')
break
else:
print('密码错误,您还有'+str(2-item)+'次机会')
else:
print('三次密码错误,请到柜台激活。')
while … else…
count = 3
while count>0:
psw = input('请输入密码:')
if psw == '123':
print('密码正确')
break
else:
print('密码错误,还有'+str(count-1)+'次机会')
count -= 1
else:
print('密码错误三次,请去柜台重新激活')
5、嵌套循环
程序:
'''输出三行四列的矩形'''
for i in range(3):
for j in range(4):
print('*',end = '\t')
print(end='\n')
输出:
* * * *
* * * *
* * * *
程序:
# 打印乘法表
for i in range(1,10):
for j in range(1,i+1):
print(str(i)+"*"+str(j)+"="+str(i*j),end="\t")
print(end='\n')
输出:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
嵌套循环中的 break、continue
程序:
# break continue 只控制本层循环
for i in range(5):
for j in range(10):
if j%2 == 0:
print(j)
break
输出:
0
0
0
0
0