day4-笔记for,while,continueBreakElse,doubleloop

一.recode

 #1.运算符
#   数学运算符,比较运算符(>,<,==,>=,<=),逻辑运算符(and,or,not),赋值运算符(=,+=,-=,*=,/=...)
print(2**3)
print(2**(1/2))

print(0<10<100)

# 运算顺序


# 2.数字类型
# int,float,bool,complex


# type(),isinstance(数据,类型),类型名(数据)



# 3.分之结构:if

if 条件语句:
    语句块


if 条件语句:
    语句块1
else:
    语句块2


if 条件语句1:
    语句块1
elif 条件语句2:
    语句块2
elif 条件语句3:
    语句块3
else:
    语句块4

二.for

python中的循环结构有两种: for循环,while循环

#1.for循环
#a.语法
for 变量名 in 序列:
     循环体

#b.说明

for         -  关键字,固定写法
变量名  -  和声明变量的时候变量名要求一样
in          -  关键字,固定写法
序列     -   python中的序列有:字符串,列表,元祖,字典,集合,range,生成器和迭代器等
:           -  固定写法
循环体 -  和for保持一个缩进的一条或者多条语句

#c.执行过程
#当程序到for循环的时候:让变量去序列当中取值,一个一个的取,取完为止.每取一个值,执行一次循环体.

for a in 'abcdef':
    print(a)
    print('====')
# 2.range函数
# range(N)     ->    N是正整数,产生0~N-1的所有整数
for num in range(10):
    print(num)

# range(M,N)   ->    M,N都是整数,并且N>M,产生M~N-1的所有整数
for num in range(100,1000):
    print(num)

# range(M,N,S) ->    M,N,S都是整数,产生M~N-1,每次加S来产生下一个数
for num in range(0,101,2):
    print('===:',num)
# 注意:xrange是python2.X的语法,在python3.X无效

#练习:计算1+2+3+...+100的和
sum1=0
for num in range(1,101):
    sum1 += num
print(sum1)

#练习:计算2*4*6*...*20的结果
product = 1
for num in (2,21,2):
    product *= num
print(product)

#练习:求0~100中所有能够被3或者5整除的数的和
sum1 = 0
for num in range(101):
    if (num % 3 == 0) or (num % 5 == 0):
        sum1 += num

print(sum1)

三.while

1.while循环
a.语法

while 条件语句:
    循环体

b.说明

while      -   关键字,固定写法
条件语句    -   可以是数据,变量,运算表达式等.不能是赋值运算
:          -   固定写法
循环体      -   和while保持一个缩进的一条或多条语句(会被重复执行)

c.执行过程:

先判断条件语句是否为True,为True就执行一次循环体,
执行完循环体在判断条件语句是否为True,为True又执行一次循环体,
执行完循环体在判断条件语句是否为True,为True又执行一次循环体,
以此类推,直到判断条件语句的结果为False,整个循环直接结束.

两个极端:1.当条件语句永远为True,会造成死循环的现象
2.一开始条件语句的结果就是False,那么循环一次都不会执行

#练习:用while循环控制程序打印10行'====='
count = 0
while count < 10:
    print('======')
    count += 1

#练习:不断输入,直到输入的值是100为止
result = 0
while result != 100:
    result = int(input('请输入数字:'))
print('结束!')
#2.补充:随机数
#导入random模块,rondom是python内置的一个专门用来产生和处理随机数的模块
# random(M,N) - 产生M~N的随机数,要求M,N都是整数,并且N>M
import random 
random_num = random.randint(0,10)
print('随机数:',random_num)

#练习: 猜数字游戏
#     产生一个0-100的随机数,然后不断输入数字,直到输入的数字和产生的随机数一致为止
#     如果输入的数字和随机数不等,给出偏大或者偏小的提示  
 print('=======游戏开始=======')

num = int(input('请输入数字(0-100):'))
random_num = random.randint(0,100)
#   给出提示
while num != random_num:
    if num > random_num:
        print('太大了,小一点儿!')
    else:
        print('太小了,大一点儿!')
    #重新输入
    num = int(input('请输入数字(0-100):'))

print('恭喜你猜对了!',random_num)

print('=======游戏结束=======') 

3.for循环和while循环的选择
a.遍历(一个一个的取)序列元素用for循环
b.循环次数确定的时候用for循环
c.死循环和循环次数不确定的时候用while循环

四.continue Break Else

1.continue
用法:continue是关键字,只能出现在循环体中
功能:执行循环体的时候,如果遇到continue,就直接结束当次循环,直接进入下次循环的判断

for x in range(10):
    if x % 3 == 0:
        continue
    print(x)
    print('======')

2.break
用法:break是关键字,只能出现在循环体中
功能:执行循环体的时候,如果遇到break,整个循环直接结束

#练习:从0+1+2+...+n,求加到什么时候和超过1000000,求出这个数
sum1 = 0
n = 0
while True:
    sum1 += n
    if sum1 > 1000000:
        break
    n += 1
print(n,sum1-n)

3.else
a.语法

for 变量 in 序列:
    循环体
else:
    语句块

while 条件语句:
    循环体
else:
    语句块

b.执行过程:如果循环自然死亡,else对应的语句块会执行,如果循环因为遇到break,else对应的语句不执行

五.doubleloop

循环嵌套: 在循环体中又有循环结构
执行过程: 外循环执行一次,内循环执行完

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容