2018年6月15日【Python学习笔记】
一、break
break是一个让循环提前结束的关键字
如果在for循环中或者while中遇到了break,那么循环就在break的位置结束。
结束后程序执行循环后边的代码
练习:在1000-9999中找到第一个能被13整除的数
for x in range(1000,10000):
if x %13 == 0:
print(x)
break
print('循环结束')
for x in range(1,100):
if x == 50:
break #在这个地方结束循环,直接跳出循环执行后面的语句
print(x) #打印的是1到49
用while循环实现:不断地让用户输入数字,直到用户输入的数字是0为止。最后打印之前输入的数的和
input函数:程序执行到input函数的时候,程序就会停下来,等用户从键盘输入并且以回车结束,然后才会往下执行
sum1=0
while True:
num = int(input(">>>")) #获取键盘输入的内容,并且转换成int类型
sum1 += num #将当次输入的数字加起来
if num == 0: #判断输入的数字是否是0,如果是就让循环结束
break #注意:break 只能写在循环中
print(num)
print(sum1)
for循环和while循环的选择:
for循环的特点:次数确定,可以在序列中重复的取数据
while循环:可以解决循环次数不确定的
练习:
猜数字:随机生成一个整数。用户输入数字。如果用户输入的数字大于这个随机数就提示:“大了”,
如果用户输入的数小于随机数就提示“小”了。直到用户输入的数和随机数的大小一样,游戏结束
产生随机数:random模块是python内置的用来产生随机的数的模块,里面提供很多产生随机数的函数
randint(m,n):产生一个m到n的随机整数
import random
num = random.randint(0,100) #产生一个0-100的随机数
count = 0
while True:
count += 1
n = int(input('请输入一个数'))
if n > num:
print('输入太大了,我都崩溃了')
elif n<num:
print('输入太小了,大胆猜')
elif n == num:
print('游戏结束,3秒后自动爆炸')
if count > 7:
print('智商欠费请充值!')
elif count < 3:
print('天才')
else:
print('平庸之辈')
break
2.continue:结束当前循环,进入下次循环
for x in range(1,10):
print('=')
continue #遇到continue就不在执行循环体后面的内容,直接进入下一次循环的判断
print(x)
求1-100中所有奇数的和
x=1 sum1=1
x=2
x=3 sum1=1+3
x=4
x=5 sum1=1+3+5
.
.
.
sum1=0
for x in range(1,100):
if x % 2 == 0:
continue
sum1 += x
print(sum1)
打印100-999中十位数上不是3的所有的数
for x in range(100,1000):
if x // 10 % 10 == 3:
continue
print(x)
统计输入的数字中偶数的个数。如果输入0,就结束。(必须使用continue)
while True:
sum1=0
num=int(input('请输入一个数:'))
if num == 0:
continue
if num % 2==0:
sum1+=1
print(sum1)
flag = True
count = 0
while flag:
inputtavlue=int(input('>>>'))
if inputtavlue % 2 == 1:
continue
if inputtavlue == 0:
flag=False
count += 1
print(count)
在python中循环语句后面可以加else语句,这个else语句会在循环结束后执行
for 变量 in 序列:
循环体
else:
循环结束后执行的语句块
1234....10
sum1=1
for x in range(1,11):
sum1 *= x
else:
print(sum1)
注意:如果在循环中使用break,那么else语句不会执行!(continue不存在这问题)
1234....10
当成绩大于10000就不在继续乘
sum1=1
for x in range(1,11):
if sum1 * x > 10000:
break
sum1*=x
else:
# print(sum1,x) #循环中如果执行了break,那么else中的语句就不会执行
pass
print(sum1,x)
再循环体里面可以有其他的循环语句
for 变量 in 序列:
for 变量1 in 序列2:
循环体2
其他循环语句
for 变量 in 序列:
其他的循环语句
while条件语句:
循环体2
其他循环语句
while 条件语句1:
其他的循环语句
while 条件语句2:
循环体2
其他的循环语句2
.。。。。
如果n=5 打印:
1
12
123
1234
12345
n=5
for x in range(1,n+1):
for y in range(1,x+1):
print(y,end='')
# x控制是第几行,y控制的是获取当前行里的所有的数值
# 一行结束换行
print()
n=5:打印
*****
****
***
**
*
n=5
for x in range(1,n+1):
for y in range(1,n+1):
if x<=y:
print('*',end='')
else:
print('',end='')
print()