学完今天我保证你自己可以至少写50行代码

明天,还在等你


回顾day1

小练习1:

小练习2:

小练习3:


好了激情的的一天已经过去了正式开始,day2的讲解


        Day2 目录:

格式化输出

掌握字符串格式的方法

基本运算符

掌握基本的几种运算符

流程控制之

if...else...

理解和掌握基本的流程控制

掌握缩进的重要性

考试成绩小游戏

流程控制之for循环

for循环语句

掌握break continue 控制语句

能独自写出作业的小游戏


格式化输出篇


格式化输出
    现在有一个练习,问用户的姓名、年龄、工作、爱好,然后打印成以下格式
 
-------------------- info of Dayang -------------------
Name  : Dayang
Age  : 18
Job  :student
Hobbit: girl
---------------------- end ---------------------
怎么实现呢?你会发现,用字符拼接的方式还难实现这种格式的输出,所以一起来学一下新姿势吧
 
  咱们呢只需要把要打印的格式先准备好,由于里面的一些信息时需要用户输入的,你没有办法预先知道,因此可以先放置一个占位符,再把字符串里的占位符与外部的变量做一个映射的关系就好啦
  1. name = input("Name:")
  2. age = input("Age:")
  3. job = input("Job:")
  4. hobbie = input("Hobbie:")
  5.  
  6. info = f'''
  7. -------------------- info of {name} ----------------
  8. Name :{name}#代表你用户在name输入的内容
  9. Age :{age}#代表age
  10. Job :{job}#代表job
  11. Hobbie :{hobbie}#代表hobbie
  12. ------------------- end -----------------
  13. '''
  14. print(info)
  15. #此时注意:有的同学可能不理解{}的意思还有f是什么意思
  16. python原先的版本中的占位符使用
  17. %s 是字符串占位符
  18. %d 是数字占位符
  19. %f 是浮点数占位符
  20. 现在版本里这样带%号的也是可以使用的但是看着是比较乱的,我建议大家使用f{加用户使用的变量名}
    这个f的作用我的理解是调用工具让{}中的变量有意义,如果没有加fpython并不认为{}里的有意义,会报错(大家可以尝试)
    这样更加清晰的看出用户在那个变量里输入。

基本运算符篇


 
运算符

 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算、今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算。

  1. .算数运算
  2. a,b=10,20#假设变量a = 10 ,b = 20
  3. a + b #"+"运算,输出30
  4. a - b #"-"运算,输出-10
  5. a * b #"*"运算,输出200
  6. b / a #"/"运算,输出2
  7. b % a #"取模"运算,求余数用 输出0
  8. a ** b #"幂"运算,输出100000000000000000000十的二十次方
  9. b // a #"取整除"运算,例如 20//10输出2 20.0//10.0输出2.0
  10.  
  11. .比较运算
  12. a,b = 10,20#假设变量
  13. a == b#比较是否相等 此时返回值为False
  14. a != b#比较是否不相等 此时返回值为True
  15. a <> b#跟!=类似
  16. a > b #比较是否大于 此时返回False
  17. a < b #比较是否小于 此时返回True
  18. a >= b #比较是否大于等于 此时返回False
  19. a <= b #比较是否小于等于 此时返回True
  20.  
  21. .赋值运算
  22. a,b = 10,20#假设变量
  23. c = a+b #赋值运算 给C赋值
  24. c += a #相当于 c = c+a
  25. c -= a #相当于 c = c-a
  26. c *= a #相当于 c = c*a
  27. c /= a #相当于 c = c/a
  28. c %= a #相当于 c = c%a
  29. c **= a #相当于 c = c**a
  30. c //= a #相当于 c = c//a
  31.  
  32. .逻辑运算
  33.  
  34.                     假设 a = 10 , b =20
逻辑符 描述 实例

and

判断多个条件为真时,返回真

a>10 and b>10

结果为 False

or

判断多个条件任意为真时,返回真 a>10 or b>10 结果为True

not

取反 not a>b 结果为True
  1.  
  2. a,b,c = (10,20,5)
  3. #大家猜想练习一下,当a,b,c等于10,20,5时一下运算的结果是什么样子的
  4. a>b and a<c or b>c and a>b and a>c
  5. False
  6. a>b and a<c or b>c and a>b or a>c
  7. True
  8. (a>b and a<c or b>c and a>b) and a>c
  9. False
  10. 根据练习大家可以理解为什么得到这样的结果吗?
  11.  
  12. 在优先级运算方向:and > not >or 先判断优先级高的再判断低的 如果有括号先算括号

流程控制之if...else...篇


流程控制怎么理解?

  假如把写程序比做走路,那我们到此为止,一直走的都是直路,还没有遇到分岔口,然而在现实生活,你遇到了

分岔口,然后你决定走哪一条路必然是有冬季的,你要判断哪条岔路是你真正要走的路,如果我们想让程序也能处理

这样的判断怎么办?

  其实很简单,只要在程序里预设一些条件判断语句,满足那个条件,就走那条路,这个过程就叫流程控制。

if...else... 语句:

  1. 单分支
  2. if 条件:
  3. 满足条件后要执行的代码
  4.  
  5. #例如:
  6. salary = 8000
  7. if salary < 8000:#:冒号,是固定语法
  8. print("你挣得太少了,长的又不好看,找对象又找不到,建议多学把妹技巧")
  9. #如果你的工资少于8000就会打印print,这句话:你挣得太少了,长的又不好看,找对象又找不到,建议多学把妹技巧双分支
  10. if 条件:
  11. 满足条件执行代码
  12. else
  13. 不满足执行这段代码
  14. #例如:
  15. salary = 8000
  16. if salary < 8000:
  17. print("你挣得太少了,长的又不好看,找对象又找不到,建议多学把妹技巧")
  18. else:
  19. print("恭喜你满足了在大城市的基本收入")

Python缩进详解:

  1.顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它

必须不能进行任何缩进

  2.同一级别的代码,缩进必须一致

  3.官方建议缩进4个空格(一个Tab键也是4个空格),如果你想称霸武林,唯你独尊,两个也不是不可以

if  循环之多分支

  1. if 条件:
  2. 满足条件执行代码
  3. elif 条件:
  4. 上面条件不满足就走这个
  5. elif 条件:
  6. 上面条件不满足就走这个
  7. elif 条件:
  8. 上面条件不满足就走这个
  9. else:
  10. 上面所有条件都不满足就走这段

      做一个简单的猜年龄小游戏吧

  1. age_of_Dayang = 18
  2. guess = int(input("请输入你的猜想吧:"))
  3. # 此处是让用户进行输入,int()是为了保证输入为整数,然没有办法与age_of_Dayang = 18进行对比
  4. if guess > age_of_Dayang:
  5. print("我有那么老吗?不开心")
  6. elif guess < age_of_Dayang:
  7. print("有点小了呢,猜大点试试")
  8. else:
  9. print("恭喜你,猜对了")#因为此题只有三种情况>,<,=,所以直接else输出即可,若还有条件继续elif

  再来做一个匹配成绩的小程序吧,成绩有ABCDE,5个等级,与分数的对应关系如下.

A 90-100
B 80-89
C  60-79
D 40-59
E 0-39
  1. mark = int(input("妈妈:快告诉我你这次的成绩吧\n 昂,咱们家的宝贝:"))#\n是换行的意思,增加点娱乐效果,不过要真是D,E也恐怕是悲剧了
  2. if mark > 90:
  3. print("A")
  4. elif mark > 80:
  5. print("B")
  6. elif mark > 60:
  7. print("C")
  8. elif mark > 40:
  9. print("D")
  10. else:
  11. print("E")

流程控制之循环for篇


为什么要用到循环

  在上面的判断猜测过程中你很难一次就猜到,如果没猜对还要重新在启动程序。很麻烦

循环需要指定一个结果或者明确循环的次数这样就方便了很多,今天讲解for循环

for循环:

  需要指定循环次数

  1. #例如
    for i in range(10)
  2.   print(i)
  3. #输出结果
  4. 0
  5. 1
  6. 2
  7. 3
  8. 4
  9. 5
  10. 6
  11. 7
  12. 8
  13. 9
  14. #for... in...是固定语法
  15. #range(10)从0到10的一个区间,range(10) 也可以写成 range(0,10),但不会循环到10,他其实可以看作是一个列表
  16. # i 是一个临时变量,在区间range(10)中,每一次循环都不一样

改进猜年龄小游戏:

  1. #咱们定规则,让它可以循环猜三次
  2. age_of_Dayang = 18
  3. for i in range(0,3):
  4. guess = int(input("输入你的猜想吧:"))
  5. if guess > age_of_Dayang:
  6. print("我有那么老吗?不开心")
  7. elif guess < age_of_Dayang:
  8. print("有点小了呢,猜大点试试")
  9. else:
  10. exit("恭喜你,猜对了")#如果一下就猜对了直接exit退出程序

for 循环 

输出0到100的奇偶数(包括100)

(可以通过%取模的方式进行整除,咱们定义它让他整除2来判断奇偶数)

  1. for j in range(0,101):
  2. if j%2 ==0:#代表是偶数,i 是可以变的这个题咱们用j临时变量
  3. print(f"{j}是偶数")
  4. else:
  5. print(f"{j}是奇数")
  6.  
  7. 0是偶数
    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是奇数
    100是偶数

嵌套循环(嵌套循环是很重要的哦)

小项目:打印一栋楼的房间号,假设楼层有5层,每层有9个房间

(打印的格式固定为:x层-x0x室)

  1. for i in range(1,6):#楼层5
  2. print(f"---------{i}层----------")#有一个分解看着更加清晰明了
  3. for j in range(1,10):#房间号1-9
  4. print(f"L{i}-{i}0{j}室")#打印格式
    #结果
    ---------1层----------
    L1-101
    L1-102
    L1-103
    L1-104
    L1-105
    L1-106
    L1-107
    L1-108
    L1-109
    ---------2层----------
    L2-201
    L2-202
    L2-203
    L2-204
    L2-205
    L2-206
    L2-207
    L2-208
    L2-209
    ---------3层----------
    L3-301
    L3-302
    L3-303
    L3-304
    L3-305
    L3-306
    L3-307
    L3-308
    L3-309
    ---------4层----------
    L4-401
    L4-402
    L4-403
    L4-404
    L4-405
    L4-406
    L4-407
    L4-408
    L4-409
    ---------5层----------
    L5-501
    L5-502
    L5-503
    L5-504
    L5-505
    L5-506
    L5-507
    L5-508
    L5-509

for嵌套循环(练习)

要求:如上面的练习,还是打印楼层的小程序,需求改了,遇到第三层时不打印任何房间号,告诉用户三层还在装修,如果进入四层404房间则进入鬼屋中断4层循环

下面介绍这个小程序的主角:break & continue 

continue:只要程序一遇到continue本次循环就不再继续了,跳转下一次循环

break:只要程序遇到break,就会结束当前这个循环,如果是多层嵌套循环,只结束当前这一层的循环

咱们来写一下这个程序

  1. for i in range(1,6):#楼层5
  2. if i == 3:#如果三层,跳过此层循环
  3. print("三层还未装修")
  4. continue
  5. print(f"---------{i}层----------")#有一个分解看着更加清晰明了
  6. for j in range(1,10):#房间号1-9
  7. if i == 4 and j == 4:
  8. print("进入鬼屋中断四层")
  9. break
  10. print(f"L{i}-{i}0{j}室")#打印格式
  11.  
  12. #输出结果
    ---------1层----------
    L1-101
    L1-102
    L1-103
    L1-104
    L1-105
    L1-106
    L1-107
    L1-108
    L1-109
    ---------2层----------
    L2-201
    L2-202
    L2-203
    L2-204
    L2-205
    L2-206
    L2-207
    L2-208
    L2-209
    三层还未装修
    ---------4层----------
    L4-401
    L4-402
    L4-403
    进入鬼屋中断四层
    ---------5层----------
    L5-501
    L5-502
    L5-503
    L5-504
    L5-505
    L5-506
    L5-507
    L5-508
    L5-509

好了今天咱们的学习到此为止,明天加油

多练习今天课上的小程序  (抄没有意义,一定要自己写出来)

本节练习

1.你的工资决定了你的态度,写一段程序,读取用户的输入的工资,根据工资打印出相应的文字

月薪1000:老板,我*****

月薪2000:老板啥也不是

月薪5000:老板给的待遇不是很好要不要辞职

月薪1万:老板教育我的有点问题,我也不说话

月薪2万:老板说啥就是啥吧,给钱就行

月薪3万:老板说得对,我错了

月薪5万:996就像呼吸一样自然

月薪10万:公司就是我家

2.做一个程序让用户分别输入三个数字,判断三个数字中最大值并输出。

num1 = int(input("第一个数字"))

num2 = int(input("第二个数字"))

num3 = int(input("第三个数字"))

Python——day2的更多相关文章

  1. python day2:python的基本数据类型及其方法

    目录 python day2 1. 编码转换 2. python的基本数据类型 3. for 迭代遍历 4. 列表list 5. 元组tuple 6. 字典dict 7. 枚举enumerate 8. ...

  2. 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...

  3. python day2 练习题

    #/usr/bin/env python # -*- coding:utf-8 -*- # Author:ylw # name = '  ylwA  ' # 1.移除name变量对应的值两边的空格 # ...

  4. python,Day2,基础 2

    list和dict list是一种有序的集合,可以随时添加和删除其中的元素. 例如: >>>classmates = ['eason','grace','alice'] >&g ...

  5. Python Day2 Learning record

    一.python初始化模块                                                        Python的强大之处在于他有非常丰富和强大的标准库和第三方库 ...

  6. 初识Python.day2

    一. python运算符 算数运算符  比较运算符 赋值运算符 逻辑运算符 成员运算符 二. Python基础数据类型 1. python字符串总结 # 首字母变大写 # a1 = "jiu ...

  7. Python day2 基础 2 数据类型

    数据类型初识 1.数字 2 是一个整数的例子.长整数 不过是大一些的整数.3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4.(-5+4j)和 ...

  8. Python day2 ---python基础2

    本节内容 列表. 元组操作 购物车程序 字符串操作 字典操作 3级菜单 作业(购物车优化) 1. 列表操作 1.定义列表names = ['Alex',"Tenglan",'Eri ...

  9. Python——Day2(基础知识练习一)

    1.执行Python脚本的两种方式1)调用解释器 Python +绝对路径+文件名称2)调用解释器 Python +相对路径+文件名称 2.简述位.字节的关系8位为1个字节 3.简述ASCII.uni ...

随机推荐

  1. 这一份MySQL书单,可以帮你搞定90%以上的面试题!

  2. [hdu3308]线段树

    题意:单点更新,区间LCIS(最长连续递增序列)查询.具备区间合并维护的性质,不用线段树用什么~ #pragma comment(linker, "/STACK:10240000,10240 ...

  3. RESTful设计中的常见疑问

    最近写了几个有关RESTful的API相关内容,也谈谈对常见问题的自己的理解. 什么是RESTful 详情可以看http://www.ruanyifeng.com/blog/2011/09/restf ...

  4. shrine

    0x01 import flask import os app = flask.Flask(__name__) app.config['FLAG'] = os.environ.pop('FLAG') ...

  5. spark机器学习从0到1机器学习工作流 (十一)

        一.概念 一个典型的机器学习过程从数据收集开始,要经历多个步骤,才能得到需要的输出.这非常类似于流水线式工作,即通常会包含源数据ETL(抽取.转化.加载),数据预处理,指标提取,模型训练与交叉 ...

  6. React实践相关

    语法高亮: sublime ctrl+shift+P 安装babel ,在view-syntax-open all width current extension as...-babel-js(bab ...

  7. Element Form表单实践(上)

    作者:小土豆biubiubiu 博客园:https://www.cnblogs.com/HouJiao/ 掘金:https://juejin.im/user/58c61b4361ff4b005d9e8 ...

  8. 使用基于MVC2模式创建新闻网站

    1.什么是MVC MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示 ...

  9. mysql运维入门6:MySQL读写分离

    Amoeba 以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy 集中想用应用的请求,根据用户事先设置的规则,将SQL请求发送到特定的数据库上执行 基于此可以实现负载均衡.读写分离 ...

  10. Form action 方法上传文件

    <form method="post" id="form1" runat="server" enctype="multipa ...