python从零到壹

445次阅读  |  发布于3年以前

1 . 基础要求

起点

前3差数学;后3差经验;天赋决定天花板;任何起点都可以开始python

江湖图谱

丐帮玩蛇,天下一绝;学习最重要的是兴趣

江湖待遇

2 . 程序=数据+算法

2.1 数据

数据=定量数据+定性数据

定量数据:自然数,整数,有理数,无理数

定性数据: 字符串

a = 1
b = -3
c = 1/3
d = 1e4
e = "good"
f = 'shame' # "和'也是字符串
h = '他说,"你知道她是谁吗?"'
g = True
h = None
PI = 3.14
COIN_RATE = 100 # 游戏币兑人民币汇率

a = [1, 3, 5, 7, 9] # 奇数
b = [2, 4, 6, 8] # 偶数
c = [2, 3, 5, 7, 11, 13] # ?
d = [1,1,1,1,1,1,1,0,1,1] # ?
f = [1,"a", 0.3]

a =(1,2) # 二维空间
b =("40°1′49″","116°24′39″") # 经纬度
c =(1,2,1) # 三维空间

一般是固定的数据组合

a=set(["andy","tony","melody"]) # 签到表
a = [1, 3, 5, 7, 9]
a[0]
a[2]
b = (1,2)
b[0]
a = [1, 3, 5, 7, 9]
a.append(1)
a.pop(3)
print(a)
b = set([1,2,3,45])
b.add(5)
print(b)

a = {"name":"andy","gender":"male"}
b = {"name":"panny","gender":"female"}
c = {
"a":["andy","andrew"],
"b":["bob"]
}

字典取值,使用key(字符型索引)进去获取:

a["name"]
c["a"]

2.2 算法

流程控制

i = 0
while i < 5:
i+=1
print(i)

for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, 'equals', x, '*', n//x)
break

x = 4
b = 0 if x % 2 == 0 else 1 

函数

数学上的函数:"一般的,在一个变化过程中,假设有两个变量x、y,如果对于任意一个x都有唯一确定的一个y和它对应,那么就称x是自变量,y是x的函数。" 。比如:y=f(x)=2x+1, y=f(x)=-2x+1

程序上的函数: 接受零个、一个或者多个输入数据,对其进行数据处理,返回一个或者多个结果的程序片段

def say_hello():
print("hello")

say_hello()

def p(x):
    y = 2*x+1
    return y

def p1(x):
    y = -2*x+1
    return y

def m(a):
    b = []
    for x in a:
        y = p(x)  # 重用
        b.append(y)
    return b

def main():
    a = [1,2,3]
    b = m(a)
    print(b)

main()


乐高积木

3. python魔法

魔法:一些python的特性、约定或者技巧,可以让程序更高效

切片

索引表

+---+---+---+---+---+---+
| P | y | t | h | o | n |
+---+---+---+---+---+---+
0 1 2 3 4 5 
-6 -5 -4 -3 -2 -1

示例:

word ="Python"
word[0:2]
word[2:5]
word[:2]
word[4:]
word[-2:]

列表推导式

def p(x):
y = 2*x+1
return y

a = [1,2,3]
b = [ p(x) for x in a]
print(b)

4 . 开机有益

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。

person = ["A", "B", "C", "D"]
for killer in person:
is_a = 1 if killer != "A" else 0
is_b = 1 if killer == "C" else 0
is_c = 1 if killer == "D" else 0
is_d = 1 if killer != "D" else 0
if is_a + is_b + is_c + is_d == 3:
print("killer is:", killer)
break

  • 循环
  • 真假
+---+---+---+---+---+---+
| P | y | t | h | o | n |
+---+---+---+---+---+---+

课后练习

推荐链接

Python 入门指南

在 Windows 上使用 Python 进行开发

1 . 基础要求

起点

前3差数学;后3差经验;天赋决定天花板;任何起点都可以开始python

江湖图谱

丐帮玩蛇,天下一绝;学习最重要的是兴趣

江湖待遇

2 . 程序=数据+算法

2.1 数据

数据=定量数据+定性数据

定量数据:自然数,整数,有理数,无理数

定性数据: 字符串

a = 1
b = -3
c = 1/3
d = 1e4
e = "good"
f = 'shame' # "和'也是字符串
h = '他说,"你知道她是谁吗?"'
g = True
h = None

PI = 3.14
COIN_RATE = 100 # 游戏币兑人民币汇率

a = [1, 3, 5, 7, 9] # 奇数
b = [2, 4, 6, 8] # 偶数
c = [2, 3, 5, 7, 11, 13] # ?
d = [1,1,1,1,1,1,1,0,1,1] # ?
f = [1,"a", 0.3]

a =(1,2) # 二维空间
b =("40°1′49″","116°24′39″") # 经纬度
c =(1,2,1) # 三维空间

一般是固定的数据组合

a=set(["andy","tony","melody"]) # 签到表
a = [1, 3, 5, 7, 9]
a[0]
a[2]
b = (1,2)
b[0]

a = [1, 3, 5, 7, 9]
a.append(1)
a.pop(3)
print(a)
b = set([1,2,3,45])
b.add(5)
print(b)

a = {"name":"andy","gender":"male"}
b = {"name":"panny","gender":"female"}
c = {
"a":["andy","andrew"],
"b":["bob"]
}

字典取值,使用key(字符型索引)进去获取:

a["name"]
c["a"]

2.2 算法

流程控制

i = 0
while i < 5:
i+=1
print(i)

for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, 'equals', x, '*', n//x)
break
x = 4
b = 0 if x % 2 == 0 else 1 

函数

数学上的函数:"一般的,在一个变化过程中,假设有两个变量x、y,如果对于任意一个x都有唯一确定的一个y和它对应,那么就称x是自变量,y是x的函数。" 。比如:y=f(x)=2x+1, y=f(x)=-2x+1

程序上的函数: 接受零个、一个或者多个输入数据,对其进行数据处理,返回一个或者多个结果的程序片段

def say_hello():
print("hello")

say_hello()

def p(x):
y = 2*x+1
return y

def p1(x):
y = -2*x+1
return y

def m(a):
b = []
for x in a:
y = p(x) # 重用
b.append(y)
return b

def main():
a = [1,2,3]
b = m(a)
print(b)

main()

乐高积木

3. python魔法

魔法:一些python的特性、约定或者技巧,可以让程序更高效

切片

索引表

+---+---+---+---+---+---+
| P | y | t | h | o | n |
+---+---+---+---+---+---+
0 1 2 3 4 5 
-6 -5 -4 -3 -2 -1

示例:

word ="Python"
word[0:2]
word[2:5]
word[:2]
word[4:]
word[-2:]

列表推导式

def p(x):
y = 2*x+1
return y

a = [1,2,3]
b = [ p(x) for x in a]
print(b)

4 . 开机有益

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。
B说:是C。
C说:是D。
D说:C在胡说
已知3个人说了真话,1个人说的是假话。

person = ["A", "B", "C", "D"]
for killer in person:
is_a = 1 if killer != "A" else 0
is_b = 1 if killer == "C" else 0
is_c = 1 if killer == "D" else 0
is_d = 1 if killer != "D" else 0
if is_a + is_b + is_c + is_d == 3:
print("killer is:", killer)
break

  • 循环
  • 真假
+---+---+---+---+---+---+
| P | y | t | h | o | n |
+---+---+---+---+---+---+

课后练习

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8