python笔记_第一周

python基础知识

1.计算机的组成(5个)

输入设备,输出设备,存储器,计数器,运算器
2.人机交互
  1. 控制台cmd可以去书写计算识别的指令(控制台快捷键)

  2. 命令行交互

    1.切换到其他目录下
    		如果要切换的目录是子目录
    			cd 目录名 
    		要切换的目录是上一级目录
    			cd ..
    		切换到同符盘的其他目录
    			cd 同盘符 :\ 其他目录名
    		切换到其他的符盘	
    			d:
    2.显示当前目录下的文件列
    		list
    
    

    图形化界面

3.计算机数据的存储
3.1 存储方式:

常见的进制方式(写上简写)

​ 二进制(0b)

​ 八进制(0o)

​ 十六进制(0x)

3.2 进制的转换
十进制转二进制
转换规则:对十进制数除以二求余数,一直除到被除数等于0
整数的转换规则:
依此除以二趋于,然后从下往上累计
小数的转换规则:
	乘以二,取整数部分,直到小数部分等于0
	(小数转换中,会出现一个问题)精度缺失
十进制转二进制练习:
53
	(0b)110101
17.75
	(0b) 10001.11
44
	(0b) 101100
19.0625
	(0b)10011.101
二进制转十进制
按权展开求和(6个字)
	
二进制——十进制  
	0b100101 = 37
二进制转化为八进制
八进制:逢八进一
	
练:
	0b011  101  101  100  110
		--- 35546
二进制转十六进制
十六进制:逢十六进一
	
例如:
	0b0001  1010  1001   1101   1101
		 ----> 1A9DD
   
   练:
   	0b1101 0101  1101  1101 
    	
   	 ---- D5DD

补充:

十进制转八进制: 除以八取余数

十进制转十六进制: 除以16取余数

八进制、十六进制转十进制: 按权展开求和(几进制,权重就为几)

八进制转十六进制(十六进制转八进制) :先转为二进制再转为需要转换的进制

61 --- 转八进制——--0o75
	
0o75转化成十进制___61
	
	
十进制转十六进制
	255_0xff
0xff转化成十进制
	0xff _-255
八进制转十六进制
	0o3756————-0x11 0111 0101 0110
	
3.3编码

计算机作用:存储数据进行运算的

数据是有很多形式的(图片)(音频)(视频)等等都是数据

把生活中熟悉的数据转化为计算机中二进制数据的过程称之为______编码

数字进行存储  ————用二进制进行存储

ascii码 
	规则:
		把生活中的符号使用数字表示,这个数字就可以和二进制数建立联系了,间接的就把生活中的符号和二进制数据建立了联系
		
需要了解的字母对应的十进制数据
	A --- 65
	Z --- 90
	a --- 97
	z --- 122
	
常用的编码方式
	gbk  --- 国内的编码标准
	unicode --- ______ 国际的编码标准 容纳了全世界的所有符号
		常用的是______utf-8
	
	前___个符号的编码规范与ascii码是一致的
	针对于汉字符号 gbk一个汉字占__2个字节  utf-8一个汉字占_3_个字节

解码:把计算机中的数据解释成生活中的数据,这个过程就是解码

3.4字节

计算机中数据存储的单位就是字节(byte)___,简写___,b 存储数据是开辟的最小单位就是位___,ascii码中那些字符存储时就是占用的___1个字节

0100 0001 ---> A  65

_____-- 计算机中一个0或者一个1成为1位

一个字节等于_8_位

1024程序员节

1024

十进制  1000
	1km = 1000m
二进制  1024
	1KB = 1024B
	1MB = 1024KB
	1GB = 1024MB
	1TB = 1024GB
	...

3.5.标识符与关键字
1.标识符

在程序中用于自定义的名字,要遵守一定的规范

  1. 是由-字母-数字 _-_下划线___组成的
  2. 不能以__数字__开头
  3. 不能使用____关键字(就是被编程语言占用的英文单词)
  4. 尽量做到__见名知意__
这些是Python中的关键字
'False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
命名规则
项目名称:
	大驼峰命名——每个单词的首字母最好大写
python文件名:
	见名知意a_b
2.注释

给代码添加的注解,辅助程序员解读代码的含义,不需要解释给计算机识别的

注释方式:
	1.  单行注释 #
	2. 多行注释''' '''   or  """ """

3.入门仪式
对python世界say hello

print('hello,python')  
print(*values, sep=' ', end='\n', file=None)
这个功能就是向计算机发布输出的任务, 让计算机把想输出的内容呈现出来

*values --- 表示要输出的数据
	
 --- 如果有多个数据呈现的时候 每个数据之间的分隔符 默认是空格
 --- 输出数据的结束符,每次输出数据时都会有一个结束符, 这个结束符默认是换行
	\n
    
    \ -- __转移符号__(名称)把一些特定的符号转义成其他的含义
    	\n -- 转行符号
        \t -- 制表符,tap键
        \r -- 转行符号
file --- 表示的是呈现内容的目的地,默认就是控制台
练习:
	1.打印一个三角形
		*
	   ***
	  *****
	 *******

for i in range(0, 4):
    for j in range(0, 4 - i):
        print(' ', end='')
    for j in range(0, 2 * i - 1):
        print('*', end='')
    print()


4.变量
变量 -- 变化的数据,根据不同的场景 数据会发生变化
在程序中怎么声明变量	_____变量名 = 值`

变量名也是自定义的名字,需要遵守标识符的规范,因为python3的编码是UTF-8的,所以支持以中文作为变量名,但是不建议这些做

注意事项:

变量名在使用之前必须先声明出来,并且赋予了初始值

变量的其他赋值方式:

1. 声明一个变量赋值:变量名 = 值
2. 声明多个变量赋予同一个值:变量名1=变量名2=变量名=值
3. 声明多个变量赋予不同的值: 变量名1,变量名2=值1,值2 
5.基本数据类型

整数类型int

浮点类型 float

布尔类型 bool

这种类型的数据的特点: 只有True和false

字符串类型 str

字符:长度为1的字符串 ‘a’ ‘9’ ‘+’

​ 容器型数据, 容器中的数据就是字符

获取数据的类型功能 type(数据)

第二天

1.听写回顾(15分钟)

1.已知目录结构如下

启动cmd命令行,当前路径在 python2101/day01/笔记下,想返回到day01目录下的指令为___cd .._______

2.进制转换
	十进制转化为二进制
			24——-0b11000
			13.3125__0b 1101.0101
	二进制转化为十进制
			0b101101_45
			0b110110_54	
	二进制转化为八进制
			0b101  101  011  011  ___0o 5533
	二进制转化为十六进制
			0b1101 1101 1011__0xddb
3.字符c在ascii编码中对应的十进制数据是__99___		
4.声明一个变量用于存储姓名,并打印这个变量对应的类型
name = input('其请输入你的姓名:')
print(type(name))
数据类型
int
float
bool
str	
容器类型	

1.容器型数据类型

列表 __list

场景:

介绍:
	符号:[]
	特性:有序可变

元组 ____

场景:

介绍:
	符号:()
	特性:有序不可变

字典类型 ____

无序可变的容器  [添加顺序与显示顺序是不一致的]
存储的是具有_对应关系的___,简单的说是存储的是成对出现的数据

体现出来数据的关联性  可以使用字典
举例
注意:字典中的键是_键值对___,且不可变的
因为字典是无序的, 那就没有下标定位元素的操作,他是通过键定位元素的, 否则数据获取时存在多种数据的情况,就不确定具体是什么值了, 数据就变得模糊了

集合set

_无序可变的_容器, 元素是不允许重复的
一般就是应用于排重

场景:统计列表中非重复元素有多些
	

2.运算符

算术运算符
+  指定的加法
	对于数值类型 int  float  bool来说, 执行的就是__jia__
			bool类型在参与算术运算时 True视为1  False被视为0
	字符串类型str 来说, 来完成的是__连接字符串__
		注意事项:字符串类型的数据只能和_字符串_进行拼接

-
	求减法的

*
	对于数值类型来说 就是___相乘_
	对于字符串来说,__只能✖整型,字符串重复n次__

/
	进行除法的

//
	
	除法之后对结果进行向下取整__(接近于但是小于这个数的整数)__-

%
	对于数值来说 取的两数相除之后的余数
	对于字符串来说,完成的是字符串格式化的操作

**
	求幂数的
		x**y  === x的y次方
		

符号之间的优先级
	** >   * / // %  > + -
如果要提高表达式的优先级 使用小括号包含

练习

1. 计算下面的表达式
	 17-15*False = 17
	 
	 3**2*5 = 45
	 
	 17 // 5  = 3 
	 
2. 格式化字符串
	使用变量表示一个学生的姓名  年龄  成绩
	然后按照一下格式进行格式化
	'我叫xx, 今年xx岁,期末考试成绩是xx'	
	name = input('请输入你的名字:')
year = int(input('请输入你的年龄:'))
score = float(input('请输入你的:'))
print('我叫%s, 今年%d岁,期末考试成绩是%.1f'%(name,year,score))

赋值运算符
=
	把等号右边的运算结算结果赋值给等号左边的变量
		x = 17 * 3
		x = 51
复合赋值运算符
	+=
	-=
	*=
	/=
	//=
	%=
	**=
		对指定的变量对应的值进行对应的算术运算后 把结果再赋值给这个变量
			a = 10
			a -= 2  ====》  a = a - 2
		等号左右两边都有变量的时候 
			左边的变量是等待被赋值的
			右边的变量是取上一次的值的
			
			x = 17
			x %= 3   ===> x = x % 3
			x的结果是? x = 2
比较运算符
(6个)
比较运算符的结果是布尔类型的
	x = 17
	y = 19
	x > y————false
字符串两个数据进行比较的时候的规则:
	

逻辑运算符
and  逻辑与(并且的关系)
	
	短路原则:左边的等式不成立,右边不执行
		

or  逻辑或 (或者的关系)
	
	短路原则:左边的等式成立,右边不执行
		or 


not 逻辑非
	真变假  假变真
	
	not True = False
	not False = True

优先级
	not > and > or
	
	算术运算符的优先级 > 比较运算符 > 逻辑运算符

练习

x, y = 11, 13
1.  x > 10 and x > y  ————false
2.  x < y and x > 11 or y < 15 __true 
3.  not(x - 5 < y - 7)  __true

成员运算符
in   
not in 
遍历一个列表
	nums = [17, 28, 19, 33]
	res = 17 in nums
	print(res)
	res = 35 not in nums
	print(res)

身份运算符
  • 内存: 存放程序中的数据的 每个数据是有自己的位置的【地址】
    变量赋值的时候
    	其实本质上是把数据的地址赋值给变量名
    
    is 判断两个数据的地址是否是一致的
    is not 判断两个数据的地址是否不是一致的
    
    

练习

1. 声明一个变量,接受一个整数, 判断它是否能被3整除
		整除: 这两个数取余数 结果是0
2. 声明一个变量,接受一个整数, 判断它是否能被3整除 或者 能被5整除
a = int(input('请输入一个整数:'))
print(bool(not(a % 3)))
b = int(input('请输入一个整数:'))
if b % 3 == 0 or b % 5 == 0 :
    print('可以3或者5整除')


位运算符(了解)
针对于二进制数进行运算的
补充知识点:计算机中二进制进行运算时是通过补码的形式来进行运算的

二进制的形式有三种:原码  反码   补码

正数而言:原码  反码  补码格式是一样的
	都是十进制数据转化成二进制的形态

负数:
	原码: 在正数原码的基础上将最高为置为1
			怎么判断这个最高位?
				计算机中数据存储的单位字节   1个字节是8位
				只要直到这个数据存储所占的字节数, 就知道这个数据的二进制总共有多少位,那最高位就明确
			以一个字节为例(8位)
			正数 11 ---》 原码  0000 1011
			负数 -11 ----》 原码 1000 1011
	 反码:在负数原码的基础上 除了最高位,其余位按位取反
	 		负数 -11 ---》 反码1111 0100
	 补码:在负数反码的基础上+1
	 		负数-11 ----》补码 1111 0101


	假如以原码形式进行运算
		3-2
		3 ---》 0000 0011
		-2 ---》1000 0010
		
		0000 0011
		1000 0010
		---------
		1000 0101 --- -5【错误的】
	假设以反码进行运算
		3-2
		3 ---》 0000 0011
		-2----》1111 1101
		
		0000 0011
		1111 1101
		---------
	  1 0000 0000  ---- 溢出: 这里的这个1是溢出状态【舍去的】
	  	最后的数据是 0000 0000 ----》 0 【错误的】
	 
	 以补码运	 	3-2
	 	3 ----》 0000 0011
	 	-2 ----》1111 1110
        
        0000 0011
        1111 1110
        ---------
        1 0000 0001 ----》 前面的1溢出
        最后的数据 0000 0001 ----》 1【正确的了】
    
    
   从二进制数据求对应的十进制数据的话,是通过原码来转换的

& 按位与
	类似于逻辑运算符and  把1是做真  把0是做假
		支持一假则全假
	相同位上的数据 去进行逻辑判断 一假则假【只要相同位上有一个是0,该位对应的数据就是0】
	7 & 6
	7 --- 0000 0111
	6 --- 0000 0110
		-----------
		  0000 0110 ----》 6

	7 & -6
		7 --- 0000 0111
		-6的原码:1000 0110
			反码:1111 1001
			补码:1111 1010
		0000 0111
		1111 1010
		---------
		0000 0010 ---- 2

| 按位或
	类似于逻辑运算符or  把1是做真  把0是做假
		支持一真则全真
	相同位上的数据 去进行逻辑判断 一真则真【只要相同位上有一个是1,该位对应的数据就是1】
	
	7 | 6
	7 ----0000 0111
	6 --- 0000 0110
		------------
		  0000 0111 ---- 7
		  
	7 | -6
	
		  0000 0111
		  1111 1010
		  ---------
		  1111 1111 【补码】
		  		反码:1111 1110
		  		原码: 1000 0001  -----》 -1

^ 按位异或
	相同位上的数据 不同为真  相同为假 【相同位上的数据是不同的 该位对应的数据就是1  相同就是0】
	7 ^ 6
	7 ----0000 0111
	6 --- 0000 0110
		------------
		  0000 0001 --- 1
	1 ^ 6
		0000 0001
		0000 0110
		---------
		0000 0111 ---- 7
	
	总结:一个数与相同的数异或两次 结果是其本身
	
	交换两个变量的值
		a = 10
		b = 20
		
		经过一些操作之后 a = 20  b = 10
		
		python  a,b = b, a
		其他的语言中 是声明一个中间量
	
~ 按位取反
	所有位0变1  1变0 【补码形态运算的】
	~7
	  0000 0111
	  ---------
	  1111 1000【补码】
	  		反码:1111 0111
	  		原码: 1000 1000   -8

>> 按位右移
	右移之后左边空出  正数的话补0  负数补1
	
	48 >> 2
	
	|0011 0000|
	|0000 1100|00  --- 12 【移动2位】
	|0000 0110|000 ---- 6  【移动3位】
	
	数值 // 2**(移动位数)
	
	
	-12
	 原码:1000 1100
	 反码:1111 0011
	 补码:1111 0100
	 
	 向右移动2位
	 	1111 1101【补码】
	 	反码 1111 1100
	 	原码 1000 0011 --- -3


<< 按位左移
	3 << 2   3向左移动2位
	按位左移之后 右边空出 补0
	
	|0000 0011|
  00|0000 1100|   --- 12
 000|0001 1000|  --- 24
 		
 		3左移两位   结果是12      4
 		3左移3位    结果是24     8
 		3左移4位    结果是48     16
 		
 		结构: 数值*2**(移动位数)
 		
 		面试:如何快速的计算出来2的3次方
 			  答案:1向左移动3位   
 
 	-12  -12左移4位
 	原码 1000 1100
 	反码 1111 0011
 	补码 1111 0100
 	0100 0000 --- 64   -12 * 2**4  -12*16 -192
 	
 	-128 - (-192) -128 + 192 = 64
 	
 	8位所能表示的数据 -128 到 127   【256个数字】
 		正数0111 1111 ----》 127
 		+0 0000 0000
 		
 		-0 1000 0000 ----》 -128  把-0当做-128处理的 
 		负数1111 1111 ----》 -127
 
 python中整数的范围 跟机器支持的位数有关
 	32b  64b
 		-2**31 到 2**31 - 1
 	

3.输入功能

(符号):input
	注意:获取的数据类型 默认是字符串,所以别忘了强制转换
	

4.类型转换

需求: 键盘录入一个这个数 判断它是不是偶数

5.把数据转化为整数

int(数据)
	场景:
		1.对浮点数取整 【取小数的整数部分】
		2.把字符串的数据转化为整数
			要求:字符串的内容必须满足整数格式

把数据转化为浮点型
float(数据)
	场景:把字符串转化为浮点型
		要求:字符串的内容是满足数值格式化

把数据转化为布尔类型
bool(数据)
	规则:
		数值类型的数据:  
		容器类型的数据: ___即为True
				只有容器壳没有数据 -- 空容器
					''
					[]
					()
					{}
		特殊的数据:空值None --- 为False
			None什么都没有 

把数据转化为字符串类型
str(数据)
	结果就是在原有数据的基础上加了一个引号外衣
	str(10) --- '10'
	str([12, 34, 56]) ---- '[12, 34, 56]'
	
	把数据转化为字符串 一般就是___➕__拼接的时候

把数据转化为列表
list(数据)
	数据只能是_容器类型_类型的数据
	结果就是把数据依次放到列表中

练习

键盘录入一个字符, 判断它是不是小写字母
a = input('请输入一个字符')
if 'a' <= a <= 'z' :
	print('是小写字母')
else :
	print('不是小写字母')

6.流程控制语句

6.1 顺序语句
按照编写规范:一行写一条语句

6.2 分支语句
场景1:单分支
	如果满足某个条件 就做某个事情
		例如: 满18周岁 就可以进网吧
			满22周岁 就可以领证
	代码语法:if 条件1 :
		
场景2:双分支
	如果满足某个条件 就做某件事 否则做其他的事
		例如:如果分数达到一本线 就选一本院校  否则选二本或者其他院校
		
	代码语法:if 条件1 :
			else :
		
场景3:多分支
	如果满足某个条件1 就做某件事1 否则如果满足条件2 就做事情2 ... 否则如果满足条件n 就做事情n 否则做事情n+1
			
		代码语法:
		if 条件1 :
		elif 条件2 :
		elif 条件3 :
		elif 条件n :
	    else  :
		
			
			
	分支语句中只会执行一个分支, 有一个分支被执行 整个分支语句结束

第三天:

1.听写回顾(15分钟)

1.键盘录入一个整数,判断是不是一个小于50的数,如果是的话,输出这个数的平方, 否则就输出这个数对3取余的余数
a = input('请输入一个数')
if a < 50 :
    print(a ** 2)
else :
    print(a % 3)

2.声明两个变量,分别表示姓名和成绩, 完成下面的话术
	我叫xx, 期末成绩是xx    [注意:成绩保留两位小数]
name = input('请输入你的姓名:')
score = float(input('请输入你的成绩:'))
print('我叫%s, 期末成绩是%.2f'%(name,score))

	
3.x = 17
  y = 18
  判断下面的式子是否成立
  x + 2 > y and y > 20     False
  x < y or (y - 1) >= x    True
  not(x > y)               True
  

2.流程控制语句

顺序语句
分支语句

语句嵌套

在满足某种条件的情况下,还需要在做判断

例子:
	查看公交卡上的余额, 如果余额大于1元 乘坐公交车出行, 否则只能步行出行
	如果是乘坐公交车, 查看车上是否有空座 如果有空座 坐车乘车  否则只能站着乘车
	money = float(input('请输入你公交卡上的余额:'))
if money > 1 :
    a = input('是否有空座位(写有或者没有):')
    if a == '有' :
        print ('坐着乘车')
    else :
        print ('坐着乘车')
else :
    print('步行出行')

例子2:
	键盘录入年  月  输出这个月的天数
		1 3 5 7 8 10 12 都是31天
		4 6 9 11  都是30天
		2
			闰年  29天
			平年  28天
year = int(input('请输入年份:'))
mouth = int(input('请输入年份:'))
day = int(input('请输入年份:'))
mouth_list = [31,28,31,30,31,30,31,31,30,31,30,31]
count_mouth = 0
count_day = 0
if year % 4 == 0 and  year % 100 != 0 or year % 400 == 0:
    mouth_list[1] = 29
for i in  mouth_list[0:mouth-1]:
    count_mouth += i
count_day = count_mouth + day
print('今天是%d年的第%d天'%(year,count_day))


		

练习

追光吧哥哥
键盘输入的1-100 之间的整型数字表示哥哥参赛的得分,及格分数是 60 分.如果大于 60则可以继续参加下一轮的公演,否则进入禁演区.
如果在禁演区,键盘输入是否愿意通过努力走出禁演区,如果愿意打印:你真是努力追光的哥哥,加油,否则打印:太遗憾了哥哥,你不能参加比赛.
如果有资格参加公演则选择队长.键盘输入队长名称,根据名称打印恭喜进入谁的队伍.(参考队长名称:1.烧饼  2.朦胧  3.小天)


score = int(input('请输入这位哥哥的成绩(1-100):'))
if score > 60 :
    dui = input('恭喜通过,请选择你要选择的队长1.烧饼  2.朦胧  3.小天:')
    print('恭喜进入%s的战队'%dui)
else :
    print('失败了')
    chose = input('是否愿意通过努力走出禁演区(是 or 否)')
    if chose == '是' :
        print('你真是努力的追光哥哥,加油')
    else :
        print('太遗憾了哥哥,你不能参加比赛')




练习1

现在经过层层筛选晋级的各位演员们要进行终极PK,于是他们组成了两大战队:大辈儿战队和致青春战队。
分队规则:
大辈儿战队需要满足年龄大于35岁,如果在35-45之间进入A组,否则进入B组。
致青春战队就是小于35岁的演员们,如果年龄在35-25之间进入A组,小于25岁的进入B组。

year = int(input('请输入您的年龄:'))
if year > 35 :
    if year < 45 :
        print('恭喜进入大辈战队A组')
    else :
        print('恭喜进入大辈战队B组')
else :
    if year > 25 :
        print('恭喜进入致青春战队A组')
    else :
        print('恭喜进入致青春战队B组')
循环语句

循环:周而复始重复做某件事

循环的场景:
	1.满足到某个条件 循环不再继续
			跑步
	2.一直重复,没有终止的时候
		这种场景的叫做死循环
python中提供的循环机制: ___while_循环和__for__循环
while循环
上面的两种场景都适合
语法:while 条件 :
	
解读:
	循环条件成立的话,重复的事情会一直进行,直到循环条件不成立。
	
	
死循环的语法:
while True
		
实现跑步 --- 跑10圈
	只要没有跑够10圈 就得一直进行下去
	需要定义计数器 -- 用于记录跑圈这件事情重复了几次
	重复一次 计数器+1
	直到这个计数器为10的时候
count_cycle = 0
while count_cycle < 10 :
    count_cycle += 1
print(count_cycle)


while和if的区别
	if 后面的条件 
	while 后面的条件 
while的另外一种结构 while-else:
	while 循环条件:
		循环体
	else:
		执行时机 当且仅当循环条件不成立的时候才会执行
break和continue的应用
break -- 仅对循环语句起作用,作用是:___结束整个循环_
猜价格游戏:
	给商品定一个价格【这个价格是随机的  在70-300之间随机生成的一个整数】
	参与者猜商品的价格 【用户输入价格】 
		如果猜的价格比定的价格高  提示猜高了  重新猜
		如果猜的价格比定的价格低  提示猜低了  重新猜
		如果猜对了  提示 恭喜把商品带回家  结束猜的游戏
		
import random
prince = random.randint(70,300)
while True :
    guess = int(input('请输入70-300的价格'))
    if guess == prince :
        print('猜对了')
    elif guess < prince :
        print('猜小了')
    elif guess > prince :
        print('猜大了')


continue -- 仅对循环语句起作用,作用是:_结束本次循环___
打印1-100中的偶数
	--- 只要是奇数 就跳过打印
for a in range(0,101) :
    if a % 2 == 0 :
        print(a)
    else :
        continue
	
	

break 和 continue 后面不能跟随平级的代码,因为那个代码永远无法执行到
for循环
没有死循环这一说,一般是来_遍历容器__的,依次__获取容器中的数据__
另外一种____遍历容器的个数当作循环次数来使用__来使用

语法:
for i in 容器 

解读:
    每循环一次,就在容器型的数据中获取依次获取元素赋值给变量,到元素都被遍历完,循环自动结束
另外一种语法:
for-else

for 变量 in 容器型数据:
	循环体
else:
	当且仅当容器中所有的数据被自动遍历完成 循环结束时执行else

3.随机模块random

模块:一个python文件就是一个模块, 可以理解就是工具文件,里面存放这可以使用的工具
分类:__系统__模块 【安装环境时 自带的工具文件】
	 __自定义__模块 【自己创建的python文件】
	 ___第三方_模块 【使用pip进行安装的】
如果想在一个文件A中使用另一个模块B的内容, 需要先把B在A中导入【先找到使用的工具】
导入的语法:
	__import  模块B____

4.range功能

range生成的也是一个容器类型的数据,作用是生成一个等差序列
使用有三种操作:
	
			range(10, 0, -1) -- 10  9  8 7 6 5 4 3 2 1
			range(11, 0, -2) --- 11 9 7 5 3 1
			range(1,10, 2) --- 1 3 5 7 9
	
	[start, stop)这个范围中按照步长 形成对应的等差序列
	
	[1, 10)  步长10  只能取个1

第四天

1.听写(10分钟)

1.登录系统校验:
键盘录入一个用户名和密码, 判断用户名是不是admin, 密码是不是123456
	如果不是  提示用户名或密码错误, 并继续输入的行为
	否则 提示登录成功 并结束输入的行为
while True:
    name = input('请输入用户名:')
    key = int(input('请输入密码:'))
    if name != 'admin' or key != '123456' :
        print('提示用户名或密码错误')
    else :
        print('登陆成功')
        break
	
2.nums = [12, 45, 67, 19, 42, 38]
使用for循环遍历nums,并将nums中的元素累计和求出
nums = [12, 45, 67, 19, 42, 38]
for i in nums:
    print(i)

注意:
	变量i在遍历的时候 每获取一个元素就会被重新赋值1次

2.循环语句

循环嵌套

循环 --- 重复做的事情
循环嵌套 --- 重复做的事情还是重复的

break和continue的作用范围

break >  continue
 

3.布尔类型的隐式转换

将数据转化为布尔类型
	___数据_  非0即为True
	___容器_  非空容器即为True
	 None  False
	 
在条件判断的时候  非布尔类型的数据会做隐式转换 转化为布尔类型 进行条件判断
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值