美文网首页
2018-08-23 day4-循环和分支

2018-08-23 day4-循环和分支

作者: rzlong | 来源:发表于2018-08-23 20:46 被阅读0次

1.数据类型转换

自动转换
  • 整型与浮点型数计算转换为浮点型
  • 整型与bool型(0和1)计算转换为整型
强制转换
  • 语法: 类型名( 数据 )
  • 其他类型转换int: float, bool, 整数型的字符串
  • 其他类型转换float: int, bool, 浮点型的字符串
  • 其他类型转换bool: 所有类型可转换
    除数字中的0、None和其他类型的空(空串,空列表,空元组,空字典)都是True
    print(bool(None),bool(False),bool([]),bool(''),bool({}),bool(0),bool(-2))
    
    结果:
    False False False False False False True
    
  • 其他类型转换str: 所有数据都可以转换(在外添加引号)
    print(str([1,2,3]),str(100),str(True),str(None))
    
    结果:
    [1, 2, 3] 100 True None
    实质上是'[1,2,3]' '100' 'True' 'None'
    

2.if 语句(分支)

if

if的语法

if 条件语句:
    执行语句块

# if -- python中关键字,含义为'如果'
# 条件语句 -- 判断返回的结果是bool
# 冒号 -- 固定必须有的部分
# 执行语句块 -- 判断为True,执行的部分

实例:

grade = 75
if grade >= 60:
    print('成绩合格')
print('成绩:60')

结果:
成绩合格
成绩:60
if-else

if-else语法

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

# else -- 关键字,之后的冒号不可省略
# 先判断条件语句,若为True,执行语句块1;否则,执行语句块2

实例

grade = 50
if grade >= 60:
    print('成绩合格')
else:
    print('成绩不合格')

结果:
成绩不合格
成绩:50
if-elif-else

if-elif-else语法

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

按顺序判断条件,满足则执行语句块,不满足就判断其他条件;否则,执行else的语句块

实例:

grade = 50
if grade > 90:
    print('成绩优秀')
elif grade >= 80:
    print('成绩良好')
elif grade >= 60:
    print('成绩及格')
else:
    print('成绩不合格')

结果:
成绩不合格
if 语句嵌套

每个if分支中可以嵌套其他的if语句,也就是说在执行语句块的部分有if语句代替就是嵌套
if 嵌套语法

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

实例:

grade = 80
age = 18
if grade >= 60:
    if age >= 18:
        print('录取')
    else:
        print('年龄小于18')
else:
    print('成绩不合格')

结果:
录取

案例

# 产生一个随机数,判断是否为偶数,若是打印偶数,否则打印奇数
# 如果能被4整除,再打印被4整除的数

import random
number = random.randint(1,100)
if number % 2:
    print('奇数:%d'%number)
else:
    print('偶数:%d'%number)
    if not number%4:
        print('可以被4整除:%d'%number)

# 判断空串
str1 = ''
if not str1:
    print('空串')

注:import 为模块引入关键字,random.randint(first,last)随机取数[first,last]

结果:
偶数:72
可以被4整除:72
空串


3.for 循环

python中循环有两种: for和while。

for
  • 让变量在序列中取数据,取完为止。每取一次,执行一次循环体。
  • for循环中用来获取序列值的变量,在循环体中不一定使用;若不用,变量名可以声明为 _
    for 变量名 in 序列:
        循环体
    
    # for -- 关键字,含义'循环'
    # in -- 关键字,含义'在序列中取值'
    # 序列 -- 容器(可以包含多个数据的数据类型),如:str,list,tuple,set,dict,range,生成式,生成器
    # 循环体 -- 需要重复执行的代码
    
  • range()
    1. python内置函数,作用是产生指定范围中的数字
    2. range(number1) -- 产生[0,number-1]的数
    3. range(number1,number2) -- 产生[number1,number2-1]的数
    4. range(number1,number2,step) -- 从number1开始,每次按步进取值,在number2之前结束
    
    案例:
    print('形式1')
    for number in range(10):
        print(number, end=' ')
    
    print('\n形式2') 
    add_number = 0
    for number in range(1,101):
        add_number += number
    print(add_number)
    
    print('形式3')
    for number in range(1,20,3):
        print(number, end=' ')
    
    结果:
    形式1
    0 1 2 3 4 5 6 7 8 9 
    形式2
    5050
    形式3
    1 4 7 10 13 16 19
    
while
  • while循环,是先判断条件语句,True就执行循环体,直到判断语句结束为False结束

    语法:
    while 条件语句:
        循环体
    
    # while -- 关键字
    # 条件语句 -- 结果为True或者False
    # 循环体 -- 重复执行的代码
    
  • 案例

    #找一个大于1000的第一个能被79整除的数 
    num = 1001
    while num % 79:
        num += 1
    print(num,num/79)
    
    结果:
    1027 13.0
    
  • 流程图


    while.png
  • for 与 while比较

循环方式 比较 使用
for 循环次数有限且固定,while循环次数不确定 遍历序列中的值;循环次数确定
while 循环次数不确定 死循环;循环次数不确定

4.break和continue

  • break用于结束或跳出最近的循环

  • continue用于结束本次的循环,开始下一次循环

  • for-else 同没有else的for语句相比影响不大。唯一的区别在于,break时有else的语句(也属于for之内)不会输出;可以用于for循环中代替记录和标志的作用,如判断是否为素数

  • 案例

# 猜数字
import random
number = random.randint(1,100) #[1,100]
while True:
    num_input = input('输入数字1-100:')
    if int(num_input) == number:
        print('猜中')
        break
    elif number > int(num_input):
        print('小了')
    elif number < int(num_input):
        print('大了')
    else:
        pass
# 根据折半查找 --> 2^7=128>100  -- 最多猜7次
'''

相关文章

  • 2018-08-23 day4-循环和分支

    1.数据类型转换 自动转换 整型与浮点型数计算转换为浮点型 整型与bool型(0和1)计算转换为整型 强制转换 语...

  • 2018-08-23 Day4-分支和循环

    一、IF语句 语法: 说明:(1). if 是python中关键字,用于判断条件(2). 结果转换成布尔值(3)....

  • day4-循环和分支

    3.if--elif--elif--else if 条件语句1:代码块1elif 条件语句2:代码块2else:代...

  • day4-循环和分支

    01-if语句 1.if 条件语句: 代码块其他语句执行过程:先判断条件语句是否为True,如果是True就执行代...

  • day4-循环和分支

    1.ifif 条件语句:代码块其他语句执行过程:先判断条件语句是否为True,如果是True就执行代码块,执行完代...

  • day4-循环和分支-总结

    2.if语句 代码都是从上往下 一开始导入一个模块/包的关键字: 1.if就是在程序中用来做判断的(需要在满足某个...

  • day4-循环和分支-作业-提高

    1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童) 代码如下 运行结果 2....

  • day4-循环和分支-作业-基础

    读程序,总结程序的功能: 1. 功能:求2的20次方 2. 功能:求1~100之间能被3或7整除但不能被21整除的...

  • Day4-分支&循环的总结

    """author= HuangZhong""" 一.分支结构 python中的分支结构只有if语句 1.if语句...

  • 循环和分支

    分支 if 分支 else通过缩进来匹配if,等价于: 条件表达式 a = x if 条件 else y 断言 a...

网友评论

      本文标题:2018-08-23 day4-循环和分支

      本文链接:https://www.haomeiwen.com/subject/takpiftx.html