python笔记2(改)

程序结构(11.2-8分支结构)

  • 程序的三种结构
    • 顺序
    • 循环
    • 分支

分支结构

  • 分支结构的基本语法
    if 条件表达式:
    语句1
    语句2
    语句3
    ……
  • 条件表达式就是计算结果必须为布尔值的表达式
  • 表达式后面的冒号不能少
  • 注意if后面的出现的语句,如果属于if语句块,则必须同一个缩进登记
  • 条件表达式结果为True执行if后面的缩进的语句块
  • 字符串的真假:
    • 只有空字符串为False,其余全为True
#if语句
age = 19
if age > 18:
    print("已成年")
else:
    print("未成年")
已成年

双向分支

  • if…else…表达
  • 语法结构
    if 条件表达式:
    语句1
    语句2

    else:
    语句1
    语句2

input的作用:

  • 1.在屏幕上输出括号内的字符串
  • 2.接受用户输入的内容并返回到程序
  • 3.input返回的内容一定是字符串类型
#input

gender = input("请输入你的性别:")
print(gender)
if gender == "man":
    print("告辞")
else:
    print("交个朋友吧")
请输入你的性别:man
man
告辞
score = input("请输入你的成绩:")
score = int(score)
if score >= 90:
    print("优秀")
if score >= 80 and score < 90:
    print("良")
if score >= 70 and score < 80:
    print("中等")
if score >= 60 and score < 70:
    print("及格")
if score < 60:
    print("辣鸡")
请输入你的成绩:80
良

多路分支(12.2-9循环结构)

  • 多个分支的情况
    if 条件表达式:
    语句1

    elif 条件表达式:
    语句1

    elif 条件表达式:
    语句1

    else
    语句1

  • elif可以根据实际情况设置多个

  • 多路分支最多只会执行一种情况

score = input("请输入你的成绩:")
score = int(score)
if score >= 90:
    print("优秀")
elif score >= 80:
    print("良")
elif score >= 70:
    print("中等")
elif score >= 60:
    print("及格")
else:
    print("辣鸡")

if语句补充

  • if语句可以嵌套使用,但是容易出错
  • python中没有switch语句

循环语句

  • 重复的执行某一个固定的动作或任务
  • 分类
    • for
    • while

for循环

  • 语法
    for 变量 in 序列:
    语句1
    语句2
    ……
#for循环
#列表
list_one = [1,2,3,4,5,6]
for number in list_one:
    print(number)
1
2
3
4
5
6

for-else语句

  • for循环结束的时候,有时候需要执行一些收尾工作,此时需要使用else语句
  • else语句是可选择的

break,continue,pass

break: 无条件结束整个循环,简称循环猝死

#确定一个数字队列中是否包含数字7

dig_list = [2,3,5,6,45,7,89,54,22,66,7]
for number in dig_list:
    if number == 7:
        print("已找到数字7")
        break
    else:
        print(number)
    
2
3
5
6
45
已找到数字7

13.2-10循环while

continue:结束本次循环

pass:占位符,并没有跳过的功能

#pass
age = 19
if age > 18:
    pass
else:
    print("未成年")

range函数

  • 生成有序数列
  • 生成数字队列可以定制
    - range(数字1,数字2)
    - 生成的数字序列包左不包右
#range案例
#生成一个从1到100的数字序列
dig_list = range(1,100)
for number in dig_list:
    print(number)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#打印1到10的数字
for i in range(1,11):
    print(i)
1
2
3
4
5
6
7
8
9
10

while循环

  • 适用于不知道循环次数的循环

  • while语法:

  • while 条件表达式:

    • 语句块
  • 或者

    while 条件表达式:
    语句块1
    else:
    语句块2

#年利率为6.7%,本金为10000元,多少年本金翻倍
money = 10000
year = 0
while money < 20000:
    money = money * (1+0.067)
    year+=1
print(year)
11

14.2-11函数1

函数

  • 函数是代码的一种组织形式
  • 函数的使用
    • 函数使用需要先定义
      def 函数名():
      语句
      ……
    • 使用函数,俗称调用
      函数名()
  • 函数调用方法
    • 直接写出函数名字,后面小括号不能省略,括号内容根据实际情况

15.2-11函数2

函数的参数和返回值

  • 参数:负责给函数传递一些必要的数据或信息
    • 形参(形式参数):在函数定义时使用的参数,没有具体值,只是一个占位符
    • 实参(实际参数):在调用函数时输入的值
  • 返回值:调用函数的时候的一个执行的结果
    • 使用return返回结果
    • 如果没有返回结果,最好使用return None表示函数结束
    • 函数一旦执行return,则函数立即结束
    • 如果函数没有return关键字,则函数默认返回None
#形参和实参
#参数person只是一个符号
#调用的时候用另一个
def hello(person):
    print("{0},are you ok?".format(person))
    print("{},I'm fine.".format(person))
p = "xiaoming"
hello(p)
xiaoming,are you ok?
xiaoming,I'm fine.
#九九乘法表1
for i in range(1,10):
    for j in range(1,i + 1):
        print(i * j,end="  ")
    print()
1  
2  4  
3  6  9  
4  8  12  16  
5  10  15  20  25  
6  12  18  24  30  36  
7  14  21  28  35  42  49  
8  16  24  32  40  48  56  64  
9  18  27  36  45  54  63  72  81  

16.2-13函数3

def printLine(line_num):
    for i in range(1,line_num + 1):
        print(i * line_num,end="  ")
        
def double_nine():
    for j in range(1,10):
        printLine(j)
        print()
    
double_nine()
1  
2  4  
3  6  9  
4  8  12  16  
5  10  15  20  25  
6  12  18  24  30  36  
7  14  21  28  35  42  49  
8  16  24  32  40  48  56  64  
9  18  27  36  45  54  63  72  81  

参数详解

  • 参数分类
    • 普通参数/位置参数:函数中形参有多少个,在调用函数时就必须输入相同个数的实参
    • 默认参数:就是给参数一个初始的值,在调用函数时,默认参数可以不用给实参,此时形参的值就是默认值
    • 关键字参数:在调用函数时,在给出实参时,给形参赋值,不用按照位置给出实参
    • 收集参数
#普通参数案例
def sum(a,b,c):
    print(a + b)
    return None
sum(1,2,3)
3
#默认参数
def sum_1(a,b,c=100):
    print(a + b)
    return None
sum_1(1,2)
3
#关键字参数
def sum_2(a,b,c):
    print(a + b)
    print(c)
    return None
sum_2(1,2,4)
sum_2(c=4,a=1,b=2)
3
4
3
4

收集参数

  • 把没有位置,不能和定义时的参数位置相对应的参数,放入一个特定的数据结构中
  • 语法
    def func(*args)
    func_body
    按照list使用方式访问爱人感受得到传入的参数
    调用:
    func(p1,p2,p3,……)
  • 参数名args是一种约定俗成的名字
  • 参数名args前需要有*
  • 收集参数可以和其他参数共存
  • 收集参数可以不带任何实参进行调用
#收集参数
#函数模拟一个学生进行一个自我介绍
#把args看作一个列表
def stu(*args):
    print(type(args))
    for item in args:
        print(item)

stu("张三",18,"单身")
<class 'tuple'>
张三
18
单身

收集参数之关键字参数

  • 把关键字参数按字典格式存入手机函数

  • 语法:

      def func(**kwargs):
          func_body
      调用:
      func(p1=valuea1,p2=value2,……)
    
  • 收集参数中的关键字参数命名一般采用kwargs

  • 调用的时候,把多余的关键字参数放入kwargs

  • 访问kwargs需要按字典格式访问

def stu(**kwargs):
    print(type(kwargs))
    for m,n in kwargs.items():
        print(m,'---',n)

stu(name="张三",age=18,profession="计算机")
<class 'dict'>
name --- 张三
age --- 18
profession --- 计算机

收集参数混合调用的顺序问题

  • 收集参数、关键字参数、普通参数可以混合使用
  • 使用规则:普通参数和关键字参数优先
  • 定义的时候是普通参数、关键字参数、收集参数tuple、收集参数dict

收集参数的解包问题

  • 把参数放入list或者字典中,直接把list/dict中的值放入收集参数中能够
#收集参数的解包问题
def func(*args):
    print("名字")
    for name in args:
        print(name)
func("张三","李四","王五")
list_name = ["张三","李四","王五"]
func(list_name)#此时list_name是一个列表类型,调用时需要解包
#解包调用
func(*list_name)
名字
张三
李四
王五
名字
['张三', '李四', '王五']
名字
张三
李四
王五

函数文档

  • 函数文档的作用是对当前函数提供使用相关的参考信息
  • 文档的写法:
    • 在函数内部开始的第一行使用三引号字符串定义符
    • 一般具有特定格式
  • 文档查看:
    • 使用help函数,形如 help(func)
    • 使用doc,形如 func.doc
def stu(name,age,*args):
    """
    这是文档第一行
    这是文档第二行
    """
    return None
help(stu)
stu.__doc__
Help on function stu in module __main__:

stu(name, age, *args)
    这是文档第一行
    这是文档第二行






'\n    这是文档第一行\n    这是文档第二行\n    '
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
城市应急指挥系统是智慧城市建设的重要组成部,旨在提高城市对突发事件的预防和处置能力。系统背景源于自然灾害和事故灾难频发,如汶川地震和日本大地震等,这些事件造成了巨大的人员伤亡和财产损失。随着城市化进程的加快,应急信息化建设面临信息资源散、管理标准不统一等问题,需要通过统筹管理和技术创新来解决。 系统的设计思路是通过先进的技术手段,如物联网、射频识别、卫星定位等,构建一个具有强大信息感知和通信能力的网络和平台。这将促进不同部门和层次之间的信息共享、交流和整合,提高城市资源的利用效率,满足城市对各种信息的获取和使用需求。在“十二五”期间,应急信息化工作将依托这些技术,实现动态监控、风险管理、预警以及统一指挥调度。 应急指挥系统的建设目标是实现快速有效的应对各种突发事件,保障人民生命财产安全,减少社会危害和经济损失。系统将包括预测预警、模拟演练、辅助决策、态势析等功能,以及应急值守、预案管理、GIS应用等基本应用。此外,还包括支撑平台的建设,如接警中心、视频会议、统一通信等基础设施。 系统的实施将涉及到应急网络建设、应急指挥、视频监控、卫星通信等多个方面。通过高度集成的系统,建立统一的信息接收和处理平台,实现多渠道接入和融合指挥调度。此外,还包括应急指挥中心基础平台建设、固定和移动应急指挥通信系统建设,以及应急队伍建设,确保能够迅速响应并有效处置各类突发事件。 项目的意义在于,它不仅是提升灾害监测预报水平和预警能力的重要科技支撑,也是实现预防和减轻重大灾害和事故损失的关键。通过实施城市应急指挥系统,可以加强社会管理和公共服务,构建和谐社会,为打造平安城市提供坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值