摘自:GitHub - jackfrued/Python-100-Days: Python - 100天从新手到大师 https://github.com/jackfrued/Python-100-Days
1.没有switch语句
2.海伦公式计算三角形面积:
p=(a+b+c)/2
area=((p*(p-a)(p-b)(p-c))**0.5
3.运算符
** 指数
// 整除
is ,is not
in ,not in
and,or,not与或非
4.循环
for x in range(101)
for x in range(1,101,2) #产生1到100的奇数,其中2是步长
5.随机数
import random
num=random.randin(1,100) #获取1到100之间的随机整数
6.函数
def add(a=0,b=0,c=0):
return a+b+c
7.模块导入
module1.py
def foo():
print('hello,world')
#这样的话,除非直接运行该模块,否则if条件下的这些代码不会执行
if __name__=='__main__':
foo()
(1)
from module1 import foo
foo()
(2)
import module1 as m1
m1.foo()
8.字符串
s1='hello '*3
print(s1) #hello hello hello
s2='world'
s1+=s2
print('ll' in s1) #True
str2='abc123456'
print(str2[2:5]) #c12
print(str2[2::2]) #c246 相当于print(str2[2:9:2])
print(str2[-3:-1])
9.列表
(1)循环查找
list1=[1,3,5,7,100]
#通过循环用下标遍历列表元素
for index in range(len(list1)):
print(list1[index])
#直接for循环遍历列表元素
for elem in list1:
print(elem)
#使用enumerate函数处理列表之后在遍历可以获得索引和值
for index,elem in enumerate(list1):
print(index,elem)
(2)列表元素操作
list1=[1,3,5,7,100]
#添加元素
list1.append(200)
list1.insert(1,400)
#合并两个列表
#list1.extend([1000,2000])
list1+=[1000,2000]
if 3 in list1:
list1.remove(3)
list1.pop(0)
list1.clear()
(3)切片
(4)排序
list1=['orange','apple','zoo']
list2=sorted(list1) #按字母顺序
list3=sorted(list1,reverse=True) #按字母逆序
list4=sorted(list1,key=len) #按字符串长度排序
list1=sorted(reverse=True) #按字母逆序
(5)生成式和生成器
f=[x for x in range(1,10)]
print(f)
f=[x+y for x in 'ABCDE' for y in '1234567']
print(f)
#用列表的生成表达式语法创建列表容器
#用这种语法创建列表之后元素已经准备,所以需要较多内存空间
f=[x**2 for x in range(1,10)]
print(sys.getsizeof(f))
#创建一个生成器对象不占额外的空间,但每次需要数据的时候就
#通过内部的运算得到数据,需要消耗额外的时间
f=(x**2 for x in range(1,10))
print(sys.getsizeof(f))
#通过yield关键字将一个普通函数改造成生成器函数
#通过递归生成斐波那契数列
def fib(n):
a,b=0,1
for _ in range(n):
a,b=b,a+b
yield a
def main():
for val in fib(20):
print(val)
if __name__=='__main__':
main()