跳转至

常用示例

闰年

生肖

判断某年是什么生肖:year % 12

星座

猜数字

# 计算N个数之和

# 方法一
def sum_of_N(n):
  sum = 0
  for i in range(1, n+1):
    sum = sum + 1

  return sum

# 方法二
def sum_of_N():
  return (n*(n+1))/2
import random

computer_number = random.randint(0, 101)
while True:
    person_number = int(input("请输入:"))
    if person_number > computer_number:
        print("大了")
    elif person_number < computer_number:
        print("小了")
    elif person_number == computer_number:
        print("对了")
        break
    else:
        print("奇了怪了")

快速求1~100所有整数之和

sum(range(1,101))

循环并带上索引

# 输入
_list = ["a", "b", "c", "d"]
# 输出
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]

# 一般写法
[(i, _list[i]) for i in range(len(_list))]

# 使用内置枚举函数
list(enumerate(_list))
  • 使用枚举函数
# 斐波那契(Fibonacci)数列
# 释义:除第一个和第二个数外,任意一个数都可由前两个数相加得到

def fib(n):
    x0,x1 = 0,1
    while n>0:
        yield x1
        x0,x1 = x1,x0+x1

[i for i in fib(10)]

计算x的n次方

# 运算符
x**n

# 内置函数
pow(x,n)

# 自定义函数
def power(x, n):
    r = 1
    while n > 0:
        r = r * x
        n = n - 1
    return r

# 闭包的方式
# 貌似叫偏函数
def nth_power(exponent):
    def exponent_of(base):
        return base ** exponent

    return exponent_of

# 计算一个数的平方
square = nth_power(2)  # 相当于square = exponent_of,且已知exponent=2
print(square(2))  # base=2


# 计算一个数的立方
cube = nth_power(3)  # 相当于cube = exponent_of,且已知exponent=2
print(cube(2))  # base=2

阶乘

def factorial(input):
    # 检查参数类型
    if not isinstance(input, int):
        raise Exception('input must be an integer.')
    if input < 0:
        raise Exception('input must be greater or equal to 0' )

    # 递归实现阶乘
    def inner_factorial(input):
        if input <= 1:
            return 1
        return input * inner_factorial(input-1)

    return inner_factorial(input)


# 之所以加了一层写嵌套,是为了在递归前只检查一次参数类型即可,不然写在递归函数里,每次递归都要检查,影响程序效率
print(factorial(5))

单词排序

_list = ['b', 'A', 'd', 'C']

# 忽略字母大小写(需要先把字母都变为大写或小写),倒序排列
sorted(_list, key=str.lower, reverse=True)

# 操作文件
# 第一种
try:
    f=open("/path...","r") #只读模式打开
    print(f.read())
finally:
    if f:
        f.close()

# 第二种
with open("../path...","r") as f:
    print (f.read())


# 自动化脚本
import selenium from webdriver

b=webdriver.firefox()  #打开浏览器
b.get("http://www.baidu.com")  #输入地址
time.sleep(0.3)  #0.3秒等待

b.find_element_by_id("kw").send_keys("xxx")  #找到搜索框,输入xxx
b.find_element_by_id("su").click()  #点击搜索按钮
b.quit()  #推出浏览器


#爬虫
from urllib import request

class Spider():
    url = 'https://www.panda.tv/cate/lol'

    def __fetch_content(self):
        r = request.urlopen(Spider.url)
        htmls = r.read()
        htmls = str(htmls, encoding='utf-8')
        a=1

    def go(self):
        self.__fetch_content()

spider = Spider()
spider.go()

最后更新: 2021-11-29