灿灿灿的第六次Python记录——选择结构的运用


滴滴滴,每周的惯例来啦!新的知识点又来辽

一、上期回顾

名称用途
集合的定义1.集合是无序、可变序列,使用一对大括号界定,元素不可重复,同一个集合中每个元素都是唯一的。2.集合中只能包含数字、字符串、元组等不可变类型(或者说可哈希)的数据,而不能包含列表、字典、集合等可变类型的数据。
集合的创建与删除1.使用set将其他类型数据转换为集合 2.当不再使用某个集合时,可以使用del命令删除整个集合。3.集合对象的pop()方法弹出并删除其中一个元素。4.remove()方法直接删除指定元素。5.clear()方法清空集合
集合运算1.并集。2.交集。3.差集。4.对称差集

二、逻辑运算符

2.1 选择

逻辑运算符and和or以及关系运算符具有惰性求值特点,只计算必须计算的表达式。

2.1.1 and 和 or

对于表达式“表达式1 and 表达式2”而言,如果“表达式1”的值为“False”或其他等价值时,不论“表达式2”的值是什么,整个表达式的值都是“False”,此时“表达式2”的值无论是什么都不影响整个表达式的值,因此将不会被计算,从而减少不必要的计算和判断。

>>> def Join(chList, sep=None):
	    return (sep or ',').join(chList)
>>> chTest = ['1', '2', '3', '4', '5']
>>> Join(chTest)
输出:'1,2,3,4,5'
>>> Join(chTest, ':')
输出:'1:2:3:4:5'     #选定分隔符
>>> Join(chTest, ' ')
输出:'1 2 3 4 5'

2.1.2 单分支选择结构

格式:

if 表达式:
		语句块

例子:

x = input('Input two number:')
a, b = map(int, x.split())
if a > b:
   a, b = b, a               #序列解包,交换两个变量的值
print(a, b)

2.1.3 双分支选择结构

格式:

if 表达式:
    语句块1
else:
    语句块2

例子:

>>> chTest = ['1', '2', '3', '4', '5']
>>> if chTest:
	  print(chTest)
else:
	  print('Empty')

输出:['1', '2', '3', '4', '5']

2.1.4 三元运算符

格式:

value1 if condition else value2

当条件表达式condition的值与True等价时,表达式的值为value1,否则表达式的值为value2。在value1和value2中还可以使用复杂表达式,包括函数调用和基本输出语句。这个结构的表达式也具有惰性求值的特点。

例子:

>>> a = 5
>>> print(6) if a>3 else print(5)
输出:6
>>> print(6 if a>3 else 5)
输出:6
>>> b = 6 if a>13 else 9
>>> b
输出:9

2.1.5 多分支结构

if 表达式1:
    语句块1
elif 表达式2:
    语句块2
elif 表达式3:
    语句块3
else:
    语句块4

其中,关键字elif是else if的缩写。
例子:题目:利用多分支选择结构将成绩从百分制变换到等级制。

def func(score):
	    if score > 100:
		return 'wrong score.must <= 100.'
	    elif score >= 90:
		return 'A'
    elif score >= 80:
		return 'B'
    elif score >= 70:
		return 'C'
    elif score >= 60:
		return 'D'
    elif score >= 0:
		return 'E'
    else:
		return 'wrong score.must >0'	

2.1.6 选择结构的嵌套

结构:

if 表达式1:
    语句块1
    if 表达式2:
        语句块2
    else:
        语句块3
else:
    if 表达式4:
        语句块4

注意:缩进必须要正确并且一致。

三、选择结构的应用

编写程序,判断今天是今年的第几天。

import time
date = time.localtime()                         #获取当前日期时间
year, month, day = date[:3]
day_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if year%400==0 or (year%4==0 and year%100!=0):  #判断是否为闰年
    day_month[1] = 29

if month==1:
    print(day)
else:
    print(sum(day_month[:month-1])+day)

四、总结

最后的惯例,感叹一波!冲吧!!!!
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值