循环结构
一,循环结构的应用场景
1,如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令。因此,我们需要了解一下循环结构,有了循环结构我们就可以轻松的控制某件事或者某些事重复、重复、再重复的发生。在Python中构造循环结构有两种做法,一种是for-in
循环,一种是while
循环。
2,for_in循环
如果明确的知道循环执行的次数或者是要对一个容器进行迭代,那么我们推荐使用‘for_in’循环。
例 计算
∑
n
=
1
100
n
\sum_{n=1}^{100}n
∑n=1100n。
sum=0
for x in range(101):
sum += x
print(sum)
3,while循环
如果要构造不知道具体循环次数的循环结构,我们推荐使用while
循环,while
循环通过一个能够产生或转换出bool
值的表达式来控制循环,表达式的值为True
循环继续,表达式的值为False
循环结束。
例 “猜数字”的小游戏(计算机出一个1~100之间的随机数,人输入自己猜的数字,计算机给出对应的提示信息,直到人猜出计算机出的数字)来看看如何使用while
循环。
import random
answer = random.randint(1, 100)
counter = 0
while True:
counter += 1
number = int(input('请输入: '))
if number < answer:
print(‘大一点’)
elif number > answer:
print(‘小一点’)
else:
print(‘恭喜你猜对了!’)
break
print(‘你总共猜了%d次’ % counter)
if counter > 7:
print(‘你的智商余额明显不足’)
二、函数使用
1.函数的作用:不知道大家是否注意到,在上面的代码中,我们做了3次求阶乘,这样的代码实际上就是重复代码。编程大师Martin Fowler先生曾经说过:“代码有很多种坏味道,重复是最坏的一种!”,要写出高质量的代码首先要解决的就是重复代码的问题。对于上面的代码来说,我们可以将计算阶乘的功能封装到一个称之为“函数”的功能模块中,在需要计算阶乘的地方,我们只需要“调用”这个“函数”就可以了。
2. 定义函数:在Python中可以使用‘def’关键字来定义函数,和变量一样每个函数也有一个响亮的名字,而且命名规则跟变量的命名规则是一致的。在函数名后面的圆括号中可以放置传递给函数的参数,这一点和数学上的函数非常相似,程序中函数的参数就相当于是数学上说的函数的自变量,而函数执行完成后我们可以通过‘return’关键字来返回一个值,这相当于数学上说的函数的因变量。
例:查询添加用户:
def add(name):
Names = [‘aa’,‘bb’,‘cc’]
if name in Names:
chaxun()
else:
print(‘该用户不存在’)
def chaxun():
print(‘等待同意’)
r = input(‘是否留言[y/n]’)
if r == ‘y’:
input(‘请输入留言:’)
def Start():
name = input(‘请输入用户名字:’)
add(name)
Start()
三, 练习
1,网易歌单
import time
import pygame
file= r’D:\KuGou\齐晨 - 咱们结婚吧.mp3’
pygame.mixer.init()
print(“播放音乐1”)
track = pygame.mixer.music.load(file)
pygame.mixer.music.play()
time.sleep(10)
pygame.mixer.music.stop()
2,wile循环
#99乘法表
for i in range(1,10):
for j in range(1,10):
ji = i * j
if i >= j:
print(’%d * %d = %d’ %(i,j,ji),end=’ ‘)
else:
print(’’)
break
3,卡丁车
for i in range(1,10):
for j in range(1,1+i):
d=ij
print(’%d*%d=%-2d’%(i,j,d),end=’’)
print()"""
“”"import random
print(“1代表尖峰,2代表马桶车,3代表熊猫车,4代表谢谢惠顾”)
money = int(input(“您的余额为:”))
while True:
while money >=10:
s = input(“如果确认抽奖请按Y: 如果退出请按N”)
if s == ‘Y’:
a = random.randint(1, 4)
print(“您抽到的为:” + str(a))
money -= 10
elif s = ‘N’:
exit(“充值失败”)
else :
print(“您输入的有误!”)
else:
p = int(input("您的余额不足,是否充值?若要充值请输入1,退出充值请输入2"))
if p == 1:
money_add = int(input("请输入充值金额:"))
money = money_add + money
if money_add > 20:
print("请理性消费!")
else:
print("已退出充值!")
break
4,秘密加好友
def Check(name):
names=[‘Joker’,‘DDDP’,‘Tom’,'Jack]
if name not in names:
chongzhi()
else:
print('该用户已经是您的好友‘)
def chongzhi():
global money
if money>=100:
print('您已成功偷偷添加好友‘)
money-=100else:
print(‘您的费用不足,请充值VIP)
res =input(‘是否充值[y/n]’)
if res==‘y’:
print(‘您正在跳转支付宝’)
res1=float(input(‘请充值金额:>>’))
money+=res1
chongzhi()
else:
print(‘拜拜’)
def str():
name =input(‘请输入您要添加的好友:>>’)
check(name)
Satr()