反斜杠的作用
\\ \n和r的区别
改进小游戏
条件分支
- 比较符号
循环
- while
import random
times = 3
secret = random.randint(1,10)
guess = 0
print("猜猜我心里想的是哪一个数字:")
while(guess != secret)and(times > 0):
temp = input()
guess = int(temp)
times -=1
if guess == secret:
print("你是我的小甜心吗?")
print("猜对也不跟你走")
elif guess>secret:
print('数大了')
if times>0:
print("再试一次吧:")
else:
print("机会用光了")
else:
print("数小了")
if times>0:
print("再试一次吧:")
else:
print("机会用光了")
while not temp.isdigit(): 当temp值不为int时是错的。
分析了很久才做出来,但是后边的代码有重复,哪位大神看见了给批注一下谢谢
temp = input('请输入一个整数:')
number = int(temp)
while number:
i=number -1
while i:
print('',end='')
i = i-1
j=number
while j:
print('*',end='')
j = j - 1
这是一个画星星的代码,第一次照抄代码没出错,
- 注意:end="" 是强制不跨行
数据分类
int str float
a=5e19
b=("5e+19")
- 如何确定用户输入的数据类型
py提供了内置函数 type()检查数据类型的
isinstance() 可以判断数据的真假 true false
断言 assert
- 用来自检时程序自爆的
- 当判断为假时,弹出 assertionerror
- 你听说过成员资格运算符吗?
Python 有一个成员资格运算符: in,用于检查一个值是否在序列中,如果在序
列中返回 True ,否则返回 False。
函数语法 range([start, ]stop[, step]) 用中括号括起来表示可选参数,没有也没事
back,contiune 的区别
1.终止循环
2.停止本次循环
for i in range(10):
if i%2 !=0:
print(i)
continue
i += 2
print(i)
以上的例子congtinue可以用else代替,没有什么神奇的地方。
列表:一个打了激素的数组
- 创建一个普通的列表
mumber = ["小甲鱼","奥特曼","哥斯拉"]
- 创建一个混合列表
mumber = ["小甲鱼","奥特曼","哥斯拉",1,1,1,2,2,3,3,4,5,6,7,7,8,6,5]
-创建一个空列表
empty = []
向列表添加元素
- append() #可以添加一个元素进去
mumber.append(“擎天柱”)
- extend() #添加多个元素进去
mumber. extend("大黄蜂",“黑蜘蛛”)
- insert()#把某一个元素向前或者向后插入
mumber.insert(0,“大黄蜂”)
从列表删除元素
- remove()删除其中一个元素
- del()删除列表数值对应的位置
- pop()删除列表最后一个元素,然后输出删除的元素。也可以加上一个参数:
pop(3),代表删除列表的第三个元素,然后输入删除元素。
列表分片(slice)
例句
nember = ['小鱼','陆川','米兔']
nember = [1:3]
nember = [1:]
nember =[:3]
nember =[:]
相当于复制了一遍列表中对应位置的元素,或者直接把整个列表都复制一遍。注意语法格式!
列表推导式( List comprehensions )也叫列表解析,灵感取自函数式编程语言
Haskell 。Ta 是一个非常有用和灵活的工具, 可以用来动态的创建列表, 语法如:
[有关 A 的表达式 for A in B]
1. list1 = [x**2 for x in range(10)]
2. list1
3. [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
课后练习
- 要对一个列表进行顺序排序,请问使用什么方法?
列表名 .sort() - 要对一个列表进行逆序排序,请问使用什么方法?
列表名 .sort()
列表名 .reverse()
或者
列表名 .sort(reverse=True) - copy() 方法跟使用切片拷贝是一样的:
- list2 = list1.copy()
- list2
- [1, [1, 2, [' 小甲鱼 ']], 3, 5, 8, 13, 18]
- clear() 方法用于清空列表的元素,但要注意,清空完后列表仍然还在哦,只是
变成一个空列表。
- list2.clear()
- list2
- []
len()表示元素的长度
list=[5,68,92,3,6,4,1]
list.sort=(reverse=true)
排序后,再反转。记住这两个函数。
元组:戴上枷锁的列表
- 他和列表的区别
不能被修改,更安全
逗号,决定他是不是元祖 - 格式:tulpe
奇葩的内置方法
- 太多记不住,用到时再去搜索吧
格式化
- 格式化符号含义
- 格式化操作辅助指令
- 转义字符
- 以上的各种符号的含义慢慢熟悉
序列 序列
- 序列要保证里面的元素都是一个类型
函数:python的乐高积木
- def 名字():
代码块
对象
没学会
学会一个关键字:global
Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部声明其为global。
例子1
x = 1
def func():
x = 2
func()
print(x)
输出:1
在func函数中并未在x前面加global,所以func函数无法将x赋为2,无法改变x的值
例子2
x = 1
def func():
global x
x = 2
func()
print(x)
输出:2
加了global,则可以在函数内部对函数外的对象进行操作了,也可以改变它的值了
例子3
global x
x = 1
def func():
x = 2
func()
print(x)
输出:1
global需要在函数内部声明,若在函数外声明,则函数依然无法操作x
内嵌函数
- 大圆套小圆圈,不能在外边直接拿小圆圈
def fun1():
print('正在被调用~')
def fun2():
print('zhengzaiyong')
fun2()
fun1()
- 总结:
global是把局部变量变成全局变量
nonlocal是把局部变量变成被子函数引用的
lambda表达式
g = lambda x : x+4
例子
def odd(x):
return x % 2
temp = range(10)
show= filter(odd,temp)
print(list(show))
演变成
list[filter(lambda x : x % 2,range(10))
- 总结:
lambda简化了函数的表达式,他是临时存放的一个没有变量名的临时容器,
功能:去掉列表里跟他相符的数据
filter过滤器
- none,可以过滤掉非ture的
-函数,后边是可迭代数据
map()函数 中文名:映射
功能:让后边的数据参与到前面的计算中,然后再返回列表里
- 例子
print(list(map(lambda x:x*2,range(10))))
递归
就是,函数自己调用自己
比如两个镜子相对放着,就会有深度
再学函数
- 函数尽量用默认值
变量的作用域,局部变量 全局变量,修改局部变量注意事项
-global 关键字
改变函数局部变量值
-内部函数
不能被外部调用的 - 字典
创建字典的几种方式和注意事项
添加键 值的方法 - dict。fromkeys()重新创建一个新的字典
- keys 打印键
和
values 打印值
和
items已元祖的形式打印出来的
网友评论