i=0
while i<5:
print(‘老婆大人,我错了’)
i=i+1
结果:5050
i=1
result=0
while i<=100:
result+=i
i=i+1
print(result)
i=1
while i<=10:
if i%2!=0:
print("%d是奇数"%i)
i=i+1
结果:2550和654729075
# 输出1-100的偶数累加和
i=1
sum=0
while i<=100:
if i%2==0:
sum+=i
i=i+1
print(sum)
# 输出1-100的奇数累乘积
i=1
sum=1
while i<=20:
if i%2!=0:
sum*=i
i=i+1
print(sum)
i=1
while i<=5:
print(F'我吃了{i}个苹果')
if i==3:
break
i=i+1
结果:
我吃了1个苹果 我吃了2个苹果 我吃了3个苹果
i=0
while i<5:
i = i + 1
print(F'我吃了{i}个苹果')
if i==3:
print('这个苹果有虫子')
continue
结果:
我吃了1个苹果 我吃了2个苹果 我吃了3个苹果 这个苹果有虫子 我吃了4个苹果 我吃了5个苹果
当条件一直成立无法从循环中退出时我们称之为死循环,可以利用死循环做很多事情,比如让循环一直进行直到玩家不想继续时可以改变条件内容使其退出,可以参考下面的案例,升级版猜拳游戏
t=0
p1=p2=0
while True and t==0:
player = int(input('请输入一个拳形(0 石头,1 剪刀,2 布):'))
import random # 导入随机模块
computer = random.randint(0, 2) # 随机生成[0,2]之间的一个数
print(F'电脑出的是:{computer}')
result = player - computer
if result == -1 or result == 2:
print('玩家获胜')
p1=p1+1
elif result == 0:
print('平局')
else:
print('电脑获胜')
p2=p2+1
print(F'当前比分:[玩家{p1}:电脑{p2}]')
if p1>=3 or p2>=3:
if p1>=3:
print('玩家获得最终胜利')
else:
print('电脑获得最终胜利')
break
# t = int(input('请问是否继续游戏,是输入0,否输入1:'))
分析:外层循环是1-3,内层循环为4圈+1深蹲
i=1
while i<=3:
print(f"第{i}组训练开始")
j=1
while j<=4:
print(f"我跑了{j}圈")
j=j+1
print('10分钟深蹲结束')
i+=1
题目:相亲时,聊到年龄问题,女孩允许男孩尝试猜3次,3次都没猜对的话,就直接退出,猜对了打印恭喜猜对了并退出。
n=int(input('请输入女士的年龄:'))
i=0
while i<3:
t = int(input('请猜测一下我的年龄:'))
if t==n:
print('恭喜你,猜对了!')
break
else:
print('猜错了,你还有%d次机会'%(2-i))
if t>n:
print("小提示:猜大了")
else:
print("小提示:猜小了")
题目:在一个农场养了3只小白兔,每隔一年兔子的数量会翻涨到原来的2倍,那么在资源条件允许
并且所有兔子生存的条件下,N年后,兔子的数量是多少?
提示:N=1,有6只兔子,N=2,有12只兔子。以此类推…
n=int(input('请输入N的值:'))
sum=3
i=0
while i<n:
sum=sum*2
i+=1
print(sum)
i=0
j=0
while i<5:
j=0
while j<5:
print("*",end=" ")
j+=1
print()
i+=1
i=0
j=0
while i<9:
j=0
while j<=i:
print("*",end=" ")
j+=1
print()
i+=1
i=1
j=1
while i<=9:
j=1
while j<=i:
print(F"{i}*{j}={i*j}",end=" ")
j+=1
print()
i+=1
# 用于循环遍历将字符串中的字符全输出
str1='Hello Python'
for i in str1:
print(i)
# range是一个类,一般配合for循环使用,没办法直接输出
for i in range(1,10,2): #range(起始值,结束值,步长),包含起始位置,不包含结束位置
print(i)
# 可使用list(range)来打印range中的所有元素
print(list(range(0,5))) # [0, 1, 2, 3, 4] 步长省略时,默认为1
# 如果起始位置是0则起始位置可以省略,但是省略起始位置时,步长也必须省略
print(list(range(10))) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 从大到小的情况:步长为负数
print(list(range(10,5,-1))) # [10, 9, 8, 7, 6]
1.输入用户名和密码
2.判断用户名和密码是否正确(username=‘admin’,password=‘admin888’)
3.登录仅有三次机会,超过3次会报错
分析:3次机会写成代码就是最多循环三次,当其中有一次成功时使用break语句提前退出
for i in range(0,3):
username=input('请输入用户名:')
password = input('请输入密码:')
if username!='admin':
print(f'用户名错误!你还有{2-i}次机会重新输入')
elif password !='admin888':
print(f'密码错误!你还有{2-i}次机会重新输入',)
else:
print('恭喜你!登录成功')
break
for i in range(1,10):
for j in range(1,i+1):
print(f'{i}*{j}={i*j}',end=' ')
print()
# 输出9*9乘法表
# 需求:
# 数数,1-100中凡是7和7的倍数,以及数字中带7的数,输出哈,否则输出数字
for i in range(1,101):
if (i-1) % 10 == 0: # 每10行换行一次
print()
a=i%10 # 个位
b=i//10 # 十位
# print(f'{i}的十位是{b}个位是{a}')
if a==7 or b==7 or i%7==0:
print('哈',end=' ')
continue
else:
print(i,end=' ')
a='withyou'
char1=input('请输入一个字母:')
t=0
for i in a:
if i==char1:
print('找到了')
t=1
break
if t==0:
print('未找到此字母')
# 或者这样:
# len1=0
# len1+=1
# if len1==len(a):
# print('未找到此字母')
i=0
while i<=100:
if i==60:
print('下载非法文件,已将你举报!下载中止')
break
print(f'下载进度:{i}%')
i+=1
else:
print("下载完成")
for i in range(0,101):
print(f'下载进度{i}%')
if i == 60:
print('下载非法文件,已将你举报!下载中止')
break
else:
print("下载完成")
需求:
大家从1开始报数,报到数字尾数是7或该数字是7的倍数时,跳过这个数字,不进行报数。
所有同学都参与游戏后,游戏结束,例如:学生数量为50,游戏结束后,报数的同学数量为39
解题思路:当报到个位数是7或者7的倍数时,使用continue跳过当前学生报数。
count=int(input('请输入有多少人参与本次报数游戏:'))
sum1=0
for i in range(1,count+1):
a=i%10 # 个位
if a==7 or i%7==0:
continue
else:
print('报数:%d'%i)
sum1+=1
print('共有%d个人参与报数'%sum1)
感谢收看!此系列会持续更新,欢迎大家订阅本专栏(免费),有任何问题都可以发私信一起探讨。