Python 100 Days

Day 1

  1. python的缺点
    • 执行效率稍低,因此计算密集型任务可以由C/C++编写。
    • 在开发时可以选择的框架太多(如Web框架就有100多个),有选择的地方就有错误。
  2. python解释器
    • 官方的Python解释器是用C语言实现的,也是使用最为广泛的Python解释器,通常称之为CPython。除此之外,Python解释器还有Java语言实现的Jython、C#语言实现的IronPython以及PyPy、Brython、Pyston等版本

Day 2:语言元素

  1. 计算机硬件系统由五大部分构成:
    • 运算器
    • 控制器
      运算器和控制器放在一起就是我们通常所说的*处理器,它的功能是执行各种运算和控制指令以及处理计算机软件中的数据。
    • 存储器
    • 输入设备
    • 输出设备
      2.格式化输出
      print函数中输出的字符串使用了占位符语法,其中%d是整数的占位符,%f是小数的占位符,%%表示百分号(因为百分号代表了占位符,所以带占位符的字符串中要表示百分号必须写成%%),字符串之后的%后面跟的变量值会替换掉占位符然后输出到终端中。

      Day 3:分支结构

  2. 三角形面积计算(海伦公式)
    p = (a + b + c) / 2
    area = (p * (p - a) * (p - b) * (p - c)) ** 0.5

    Day 4:循环结构

  3. for-in循环
    如果明确的知道循环执行的次数或者要对一个容器进行迭代(后面会讲到),那么使用for-in循环
  4. while循环
    如果要构造不知道具体循环次数的循环结构,那么用while循环。while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束。
  1. 最大公约数与最小公倍数
x = int(input('x = '))
y = int(input('y = '))
if x > y:
    x, y = y, x
for factor in range(x, 0, -1):
    if x % factor == 0 and y % factor == 0:
        print('%d和%d的最大公约数是%d' % (x, y, factor))
        print('%d和%d的最小公倍数是%d' % (x, y, x * y // factor))    #最小公倍数与最大公约数的关系
        break
  1. 简单图形的打印
row = 6

for i in range(row):
    for j in range(i+1):
        print("*",end="")
    #这个print()起的仅仅起换行的作用
    print()
for i in range(row):
    for j in range(row-i-1):
        print(" ",end="")
    for k in range(i+1):
        print("*",end="")
    print()
for i in range(row):
    for j in range(row-i-1):
        print(" ",end="")
    for k in range(1+2*i):
        print("*",end="")
    print()
*
**
***
****
*****
******
     *
    **
   ***
  ****
 *****
******
     *
    ***
   *****
  *******
 *********
***********
[Finished in 0.5s]

Day 5:构造程序逻辑

1.百鸡百鸣问题

"""
公鸡5元一只,母鸡3元一只,小鸡1元三只,
用100块钱买一百只鸡,问公鸡、母鸡、小鸡
各有多少只?
"""
for x in range(1,21):
    for y in range(1,33):
        z = 100-x-y
        if 100 == 5*x+3*y+(1/3)*z:
            print("公鸡有%d只;母鸡有%d只;小鸡有%d只"%(x,y,z))
#这是暴力法求解,很多时候挺有用,但是有时候不行,这个1/3就是个很大的不定因素
print(1/3)

公鸡有4只;母鸡有18只;小鸡有78只
公鸡有8只;母鸡有11只;小鸡有81只
公鸡有12只;母鸡有4只;小鸡有84只
0.3333333333333333
[Finished in 0.1s]
  1. 斐波那契数列
def fib(n):
    if n==1:
        return 1
    if n==2:
        return 2
    else:
        return fib(n-1)+fib(n-2)

for i in range(1,21):    #生成前20个数
    print(fib(i),end=" ")
1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 [Finished in 0.1s]

3.求完美数

"""
完美数又称为完全数或完备数,它的所有的真因子
(即除了自身以外的因子)的和(即因子函数)恰
好等于它本身。例如:6($6=1+2+3$)和28($28
=1+2+4+7+14$)就是完美数。
"""
for num in range(1,10001):
    ls = []
    sum = 0
    for i in range(1,num):
        if num%i==0:
            ls.append(i)
    if ls!= []:
        for i in ls:
            sum += i
    if sum==num:
        print(num)
6
28
496
8128
[Finished in 4.2s]    #太慢了

Day 6:函数和模块的使用

上一篇:Windbg程序调试系列5-高CPU问题分析


下一篇:java-如何从某个日期获取日期列表?