day 4-for,while,contiue语法学习

1.运算符

数学运算符、比较运算符(>,<,==, !=, >=, <=)、逻辑运算符(and, or, not)、赋值运算符(=, +=, -=, *=,/= ...)

print(2**3)
print(2**(1/2))

print(0<10<100)

运算顺序

2.数字类型

int, float, bool, complex

2e4
1.23e3

# type(数据), isinstance(数据,类型), 类型名(数据)
input('请输入:')

3.分之结构: if

"""
if 条件语句:
语句块

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

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

"""

num = 0
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')


if num % 2:
    print('奇数')
else:
    print('偶数')  

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

1.for循环

a.语法

"""
for 变量名 in 序列:
循环体
"""

b.说明

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

c.执行过程

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

"""
a = 'a' print(a), print('======')
a = 'b' print(a), print('======')
a = 'c' print(a), print('======')

a

b

c

...
"""

for a in 'abcdefa':
    print(a,id(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,3):
    print('===:',num)

注意:xrange是python2.x的语法,python3.x无效

练习: 计算1+2+3+...+100的和

sum1 = 0     # 保存和的变量
for num in range(1, 5):
    # sum1 = sum1 + num 
    sum1 += num
print(sum1)

"""
sum1 = 0
num = (1,2,3,4)
num = 1 sum1 += num, sum1 = sum1+num , sum1 = 0 + 1 = 1
num = 2 sum1 += num, sum1 = sum1+num , sum1 = 1 + 2
num = 3 sum1 += num, sum1 = sum1+num , sum1 = 1+2+3
num = 4 sum1 += num, sum1 = sum1+num , sum1 = 1+2+3+4=10
print(sum1) 10
"""

练习: 计算2468...20的结果

product = 1
for num in range(2, 21, 2):
    # product = product * num
    product *= num

print(product)

练习: 打印0-100中所有能够被3或者5整除的数

sum1 = 0
for num in range(101):
    if num % 3 == 0 or num % 5 == 0:
        # print(num)
        sum1 += num

print(sum1)   

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 < 4:
    print('=======')
    count += 1


print(count)

''''
count = 0

count < 4 0 < 4 True print('=======') count += 1 count = count+1 = 0+1 = 1
count < 4 1 < 4 True print('=======') count += 1 count = count+1 = 1+1 = 2
count < 4 2 < 4 True print('=======') count += 1 count = count+1 = 2+1 = 3
count < 4 3 < 4 True print('=======') count += 1 count = count+1 = 3+1 = 4
count < 4 4 < 4 False

print(count) print(4)

输出:

=======

=======

4
"""

练习1: 使用while循环打印0-10

num = 0
while num < 11:
    print('练习1:',num)

    num += 1

练习2: 使用while循环打印20-11

num = 20
while num > 10:
    print('练习2:', num)
    num -= 1

练习3: 使用while循环打印2,4,6,8,10...40

num = 2
while num <= 40:
    print('练习3:', num)
    num += 2

练习4:求2+4+6+...+40

sum1 = 0
num = 2
while num <= 40:
    # print('练习3:', num)
    sum1 += num
    num += 2

print(sum1)

练习: 不断输入,直到输入的值是100为止

"""
请输入数字: 10
请输入数字: 1
请输入数字: 22
请输入数字: 100
结束!
"""

result = 0    # 保存输入的结果
while result != 100:
    result = int(input('请输入数字:'))
print('结束!')

2.补充:随机数

导入random模块,random是python内置的一个专门用来产生和处理随机数的模块

randint(M,N) - 产生M~N的随机数,要求M,N都是整数,并且N>M

import random 
random_num = random.randint(0,10)
print('随机数:',random_num)

练习: 猜数字游戏

产生一个0-100的随机数,然后不断输入数字,直到输入的数字和产生的随机数一致为止。

如果输入的数字和随机数不相等,给出偏大或者偏小的提示

增加功能: 统计玩家猜对数字猜了多少次,然后根据次数范围给出相应的评价!

print('=================游戏开始===================')
# 产生随机数
random_num = random.randint(0, 100)
# 输入的数字
num = int(input('请输入数字(0-100):'))
# 次数
count = 1
while num != random_num:
    # 给出提示
    if num > random_num:
        print('大了,再小点儿!')
    else:
        print('小了,再大点儿!')

    # 重新输入
    num = int(input('请输入数字(0-100):'))
    count += 1

print('恭喜你猜对了!', random_num)
if count > 7:
    print('250!')

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

3.for循环和while循环的选择

a.遍历(一个一个的取)序列元素用for循环

b.循环次数确定的时候用for循环

c.死循环和循环次数不确定的时候用while循环

1.continue

用法: continue是关键字,只能出现在循环体中

功能: 执行循环体的时候,如果遇到continue,就直接结束当次循环,直接进入下次循环的判断

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

2.break

用法: break是关键字,只能出现在循环体

功能: 执行循环体的时候,如果遇到break,整个循环直接结束

print('================================================')
for x in range(10):
    print(x)
    break
    print('!!!!')
# print(x)
print('结束!')  

练习: 从0+1+2+......+n,求和超过1000000的第一个数

sum1 = 0
n = 1
while True:
    sum1 += n
    if sum1 > 1000000:
        break
    n += 1

print(n, sum1, sum1-n)  

3.else

a.语法:

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

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

"""

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

for x in range(5):
    print(x)
    break
else:
    print('循环结束,没有遇到break')

循环嵌套:在循环体中又有循环结构

执行过程:外循环执行一次,内循环执行完

for x in range(5):
    for y in range(4):
        print(x)
        print(y)
    if (x == 1):
        break

"""
x = (0,1,2,3,4)
x = 0 y = (0,1,2,3)
y = 0 print(0), print(0)
y = 1 print(0), print(1)
y = 2 print(0), print(2)
y = 3 print(0), print(3)

x = 1 y=(0,1,2,3)
...

输出:
0
0
0
1
0
2
0
3

"""

你可能感兴趣的:(day 4-for,while,contiue语法学习)