1.当循环执行完整后,就会执行else里面的代码
s=0
i=1
while i<100:s+=ii+=1
else:print(s)
当循环不完整就会如下
s=0
i=1
while i<100:s+=ii+=1if s==6:break;
else:print(s)
2. 实现密码匹配,可以输入三次,若输入三次错误会退出,或者输入正确答案,设置i来作为判断标准
i=0
while i<3:user_name=input("input your name:")user_pw=input("input your password:")if user_name=="zym" and user_pw=="123":print("yes")i=4else:print("input you info agin",2-i,"times")i+=1
if i==3:print("no1")
3. 打印一个矩形和三角形
通过俩重循环,一个控制行,一个控制列,三角形则是通过这种i 值来调控每一行打印多少个*
for i in range(1,4):for j in range(1,5):print("*",end='')print()
print('')
for i in range(1,6):for j in range(1,i+1):print("*",end='')print()
4. 打印一个金字塔,通过俩个for循环,一个打印间隔,一个打印*
for i in range(1,6):for j in range(1,6-i):print(" ",end='')for k in range(1,i*2):print("*",end='')print()
5.打印奇数和
当i%2为0时,就说明i的值为偶数,就会执行continue,就是回到while的位置再往下,s的值不会累计,只有i为奇数才会累计数
s=0
i=1
while i<=100:if i%2==0:i+=1continue#下面代码不执行 回到前面重新开始s+=1i+=1
print(s)
6.空语句pass的使用
当条件里面不写代码会报错,需要写一个pass
a=12
if a==1:pass#空语句 如果直接不写会错# break 是退出整个循环 continue是跳过此次循环到下一次循环 都是只能在循环结构用
7.实现一个10086
设置一个初始值,进入循环,多个分支对应不同的选择,若选择不为0,就会跳出是否继续,就是设置循环的值,若执行完循环后就会执行else里面的代码
answer='y'
while answer=='y':print('---------welcome to 10086 ')print('1.your money')print('2.your save')print('3.your time')print('0.exit')choice=input('what choice do you want to choose:')if choice=='1':print('money:100')elif choice=='2':print('save:99')elif choice=='3':print('time:24h')elif choice=='0':print('thanks for using')breakelse:print('input choice again')answer=input('want to try again? y/n:')
else:print('exit')
8.打印乘法表
俩个循环控制行数与列数,利用str函数把整型转化为字符串,每次循环完就空一行
for i in range(1,10):for j in range(1,i+1):print(str(j)+'*'+str(i)+'='+str(i*j),end='\t')print('')
9.实现猜数字游戏
引入random,可以调用random.randint函数,产生随机整数范围是(1,100),设置count值来作为可以猜数字的次数,对比输入的数字与产生的随机数对比并打印出谁大谁小,若相等则就结束,根据count的累计来做出优秀与菜的界限
import random
rand=random.randint(1,100)
count=1;
while count<=10:number=eval(input("input a number:"))if(number>rand):print('big')elif(number<rand):print('small')else:print('yes')break;count+=1if count<4:print('nb',count)
elif count<8:print('yes',count)
else:print('no',count)