本文已参与「新人创作礼」活动,一起开启掘金创作之路。
# Tempstr = input()
# if Tempstr[-1] in ['F', 'f']:
# C = (eval(Tempstr[0:-1]) - 32) / 1.8
# print('{:.2f}C'.format(C))
# elif Tempstr[-1] in ['C', 'c']:
# F = eval(Tempstr[0:-1]) * 1.8 + 32
# print('{:.sf}F'.format(F))
# else:
# print('输入格式错误')
#PythonDraw.py
# import turtle
# turtle.setup(650, 350, 200, 200)
# turtle.penup()
# turtle.fd(-250)
# turtle.pendown()
# turtle.pensize(25)
# turtle.pencolor(1, 0.39, 0.28)
# turtle.seth(-40)
# for i in range(4):
# turtle.circle(40, 80)
# turtle.circle(-40, 80)
# turtle.circle(40, 80/2)
# turtle.fd(40)
# turtle.circle(16, 180)
# turtle.fd(40 * 2/3)
#DaydayUp1.py
# dayup = pow(1.001, 365)
# daydown = pow(0.999, 365)
# print("向上:{:.2f}, 向下:{:.2f}".format(dayup, daydown))
#DaydayUp2.py
# dayfactor = 0.01
# dayup = pow(1 + dayfactor, 365)
# daydown = pow(1 - dayfactor, 365)
# print("向上:{:.2f}, 向下:{:.2f}".format(dayup, daydown))
#DaydayUp3.py
# dayup = 1.0
# dayfactor = 0.01
# for i in range(365):
# if i % 7 in [6, 0]:
# dayup = dayup*(1-dayfactor)
# else:
# dayup = dayup*(1+dayfactor)
# print("工作日的力量:{:.2f}".format(dayup))
#DaydayUP4.py
# def dayUP(df):
# dayup = 1
# for i in range(365):
# if i % 7 in [6,0]:
# dayup = dayup*(1-0.01)
# else:
# dayup = dayup*(1 + df)
# return dayup
# dayfactor = 0.01
# while dayUP(dayfactor) < 37.78:
# dayfactor += 0.001
# print("工作日的努力参数是:{:.3f}".format(dayfactor))
"""
pow(1.01,365)=37.78 pow(1.019,365)=962
GRIT ,坚毅,对长期目标的持续激情及耐久力
GRIT 是获得成功的最重要因素之一,牢记天天向上的力量
"""
"""
O一二三四五六七八九十[::-1]结果是 十九八七六五四三二一O
"""
"""
#WeekNamePrintV1.py
weeStr = "星期一星期二星期三星期四星期五星期六星期日"
weekID = eval(input("请输入星期数字(1-7):"))
pos = (weekID - 1) * 3
print(weekStr[pos: pos+3])
#WeekNamePrintV2.py
weekStr = '一二三四五六日'
weekID = eval(input("请输入星期数字(1-7):"))
print("星期" + weekStr[weekID-1])
"""
"""
len(x) 长度,返回字符串x的长度
str(x) 任意类型x所对应的字符串形式 str(1.23)的结果为“1.23” str([1,2])的结果为“[1,2]”
hex(x)或oct(x) 整数x的十六进制或八进制小写形式字符串 hex(425)结果为“0x1a9” oct(425)结果为“0o651”
chr(u) u为Unicode编码,返回其对应的字符
ord(x) x为字符,返回其对应的Unicode编码
for i in range(12):
print(chr(9800 + i), end=" ")
str.lower() 或 str.upper 返回字符串的副本,全部字符小写或大写
str.split() 返回一个列表,由str根据sep被分隔的部分组成 “A,B,C".split(",")结果为['A', 'B', 'C']
str.count(sub) 返回字符串sub在str中出现的次数 “an apple a day”.count("a")结果为4
str.replace(old, new) 返回字符串str副本,所有old子串被替换为new “python”.replace("n", "n123.io")结果为 “python123.io”
str.center(width[,fillchar]) 字符串str根据宽度width居中,fillchar可选 “python”.center(20, "=")结果为 ‘=========python==========’
str.strip(chars) 从str中去掉在其左侧和右侧chars中列出的字符串 “= python=”.strip(" =np")结果为“ytho”
str.join(iter) 在iter变量除最后元素外每个元素后增加一个str“,”.join("12345")结果为 “1,2,3,4,5” #主要用于字符串分隔符
字符串的格式化 format()方法格式化控制
填充对齐宽度
>>>"{0:=^20".format("PYTHON")
'=======PYTHON======='
>>>"{0:*>20}".format("BIT)
'*****************BIT'
>>>"{:10}".format("BIT")
'BIT '
>>>"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
'110101001,Ʃ,425,651,1a9,1A9'
>>>"{0:e},{0:E},{0:f},{0:%}".format(3.14)
'3.140000e+00,3.140000E+00,3.140000,314.000000%'
"""
"""
time库包括三类函数
时间获取:time() ctime() gmtime()
时间格式化: strftime() strptime()
>>>t = time.gmtime()
time.strftime("%Y-%m-%d %H:%M:%S",t)
>>>'2021-07-24 03:35:43'
程序计时:sleep(),perf_counter()
"""
"""
#TextProBarV1.py
import time
scale = 10
print("-----执行开始-----")
for i in range(scale+1):
a = '*' * i
b = '.' * (scale - i)
c = (i/scale) * 100
print("{:^3.0f}%[{}->{}]".format(c, a, b))
time.sleep(0.1)
print("-----执行结束-----")
#TextProBarV2.py
import time
for i in range(101):
print("\r{:3}%".format(i), end="")
time.sleep(0.1)
#TextProBarV3.py
import time
scale = 50
print("执行开始".center(scale//2, "-"))
start = time.perf_counter()
for i in range(scale+1):
a = '*' * i
b = '.' * (scale - i)
c = (i/scale)*100
dur = time.perf_counter() - start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'-'))
"""
\
def login():
username = input('用户名:')
password = input('密码:')
if username == 'admin' and password == '1234':
print('登录成功')
else:
print('登录失败')
login()
def get_sum(a,b):
if type(a) == type(b):
s = a + b
print(s)
else:
print("类型不一致")
get_sum(2,5)
def get_sum(a, b):
if isinstance(a, int) and isinstance(b, int):
s = a + b
print(s)
else:
print('类型错误')
get_sum('hello', 'world')
get_sum(2,3)
判断用户是否成功登录
def islogin(username, password, isremember=False):
print('是否记住密码?', isremember)
if username == 'admin' and password == '1234':
print('登录成功')
else:
print('登录失败')
islogin('admin', '1234')
def borrow_book(bookname, number=1):
print('进入借书系统---')
print('要借阅的数名是:{},借阅的本数:{}'.format(bookname, number))
borrow_book('狂人日记')
borrow_book('草房子', 4)
library = ['python精通', 'MySQL', '数据分析', '人工智能']
def add_book(bookname):
library.append(bookname)
print("图书添加成功")
add_book('计算机网络')
print(library)
list1 = [32, 44, 24, 45, 32, 56, 67, 48]
def get_list(list_1):
new_list = []
for e in list_1:
if e >= 50:
new_list.append(e)
# new_list = [e for e in list_1 if e >= 50]
print(new_list)
get_list(list1)
def remove_from_list(list_1):
n = 0
while n<len(list_1):
if list_1[n] < 50:
list_1.remove(list_1[n])
else:
n += 1
print(list_1)
remove_from_list(list1)
print(list1)
可变参数:
*args
**kwargs
def get_sum(*args):
r = a + b
print(r)
get_sum(2, 6, 9)
get_sum(2, 6, 9, 10)
第四周
guess = input()
if guess == 99:
print("猜对了")
else:
print("猜错了")
guess = eval(input())
print("猜{}了".format("对" if guess == 99 else "错" ))
score = eval(input())
if score >= 60 and score <70:
grade = "D"
elif score >= 70 and score < 80:
grade = "C"
elif score >= 80 and score < 90:
grade = "B"
elif grade >= 90:
grade = "A"
print("输入成绩属于级别{}".fo
try:
<语句块1>
except NameError:
<语句块2>
else :
<语句块3>
finally:
<语句块4>
CalBMIv1.py
height, weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))
bmi = weight / pow(height, 2)
print("BMI 数值为:{:.2f}".format(bmi))
who = ""
if bmi < 18.5:
who = "偏廋"
elif 18.5 <= bmi < 25:
who = "正常"
elif 25 <= bmi < 30:
who = "偏胖"
else:
who = "肥胖"
print("BMI 指标为:国际'{0}'".format(who))
CalBMIv2.py
height, weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))
bmi = weight / pow(height, 2)
print("BMI 数值为:{:.2f}".format(bmi))
who = ""
if bmi < 18.5:
nat = "偏廋"
elif 18.5 <= bmi < 25:
nat = "正常"
elif 25 <= bmi < 30:
nat = "偏胖"
else:
nat = "肥胖"
print("BMI 指标为:国际'{0}'".format(who))
#CalBMIv3.py
height, weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))
bmi = weight / pow(height, 2)
print("BMI 数值为:{:.2f}".format(bmi))
who, nat = "", ""
if bmi < 18.5:
who, nat = "偏廋", "偏廋"
elif 18.5 <= bmi < 24:
who, nat = "正常", "正常"
elif 24 <= bmi < 25:
who, nat = "正常", "偏胖"
elif 25 <= bmi < 28:
who, nat = "偏胖", "偏胖"
elif 28 <= bmi < 30:
who, nat = "偏胖", "肥胖"
print("BMI指标为:国际'{0}', 国内'{1}'".format(who, nat))
Calpiv1.py 圆周率值是:3.141592653589793
pi = 0
N = 100
for k in range(N):
pi += 1/pow(16,k) * (4 /(8 * k + 1) - 2 / (8 * k + 4) - 1/(8*k + 5)-1/(8*k + 6))
print("圆周率值是:{}".format(pi))
CalpiV2.py
from random import random
from time import perf_counter
DARTS = 1000 * 1000
hits = 0.0
start = perf_counter()
for i in range(1, DARTS+1):
x, y = random(), random()
dist = pow(x ** 2 + y ** 2, 0.5)
if dist <= 1.0:
hits = hits + 1
pi = 4 * (hits/DARTS)
print("圆周率值是:{}".format(pi))
print("运行时间是:{:.5f}s".format(perf_counter()-start))
def add(a, b):
print(a + b)
x = 1
y = 2
add(x, y)
add(a=x, b=y)
def foo(a=None):
if a is None:
a = []
return a
def add(a, b, *args):
result = a + b
print(args)
for arg in args:
result += arg
print(result)
return result
add(1, 2)
add(1, 2, 3, 4)
numbers = [1, 2, 3, 4]
add(*numbers)
def f1(a, b, *args):
print(a, b, args)
def f2(a, *args, b):
#不推荐
print(a, args, b)
def f3(a, *args, b=1):
print(a, args, b)
def f4(a=1, *args, b=1):
#不推荐
print(a, args, b)
"""
参数:外界向里面传值
返回值:里面的内容向外界传送
def 函数名(参数)
.....
.....
return xxxx
当函数调用时通过return向外返回值
注意:只要函数由返回值,则需要接收
"""
#def get_sum(*args):
# total = 0
# for i in args:
# total += i
# return total
#
#
# t = get_sum(1, 2, 3)
# print('外侧', t)
# x = 100
# x = x + t
# print(x)
#
#
#
# def get_maxandmin(numbers):
# for i in range(0, len(numbers) - 1):
# for j in range(0, len(numbers)-1-i):
# if numbers[j] > numbers[j + 1]:
# numbers[j], numbers[j + 1] = numbers[j + 1], numbers[j]
# min = numbers[0]
# max = numbers[-1]
# return min,max
# list1 = [34, 11, 78, 90, 100, 23, 56, 88,91]
# result = get_maxandmin(list1)
# print(result)
#
# a, b = get_maxandmin(list1)
# print(a, b)
"""
全局和局部变量:
global关键字的添加
只有不可变的类型猜需要添加global
可变的类型不需要添加global
"""
# library = ['红楼梦', '西游记', '水浒传']
#
#
# def add_book(bookname):
# if bookname not in library:
# library.append(bookname)
# print("添加成功")
# else:
# print("此书已经存在")
#
#
# def show_book():
# print("图书馆的书记如下")
# for book in library:
# print(book)
#
#
# show_book()
#
# add_book('三国演义')
"""
可变与不可变
不可变:当改变变量的值时,地址发生了改变
类型:int str float bool tuple
可变类型:里面的内容发生了改变,但是地址没有发生改变
类型: list dict set
"""
# islogin = False
#
#
# def login(username, password):
# if username == 'admin' and password == '1234':
# print('登陆成功')
# islogin = True
# else:
# print('登陆失败')
#
# def borrow_books(book_name):
# if islogin:
# print('成功借阅{}'.format(book_name))
# else:
# print('用户还没登录,不能借书')
# username = input('用户名:')
# password = input('密码:')
# login(username, password)
#
# borrow_books('草房子')
# a = 100
#
#
# def test1():
# a = 0
# b = 8
# print('a =', a)
# print('b =', b)
#
#
# def test2():
# print('a =', a)
# print('b =', b)
# b = 9
#
#
# def test3():
# global a
# a = 99
# print('a =', a)
#
#
# test1()
# test2()
# test3()
# def division(m, n):
# """接收两个整数 m 和 n为参数,
# 第一行输出 m 对 n 做整除的结果。
# 第二行输出m 除以 n 的结果。
# 函数没有返回值。
# """
# print(m // n) # m 对n 整除
# print(m / n) # m 除以n
#
#
# if __name__ == '__main__':
# a = int(input())
# b = int(input())
# division(a, b) # 调用函数计算除法
"""
装饰器
"""
# def decorater(func):
# def wrapper(*args, **kwargs):
# func(*args, **kwargs)
# print('刷漆')
# print('铺地板')
# print('买家具')
# print('精装修房子')
# return wrapper
#
# @decorater
# def house(address):
# print('房子的地址在:{},是一个毛坯房'.format(address))
#
#
# @decorater
# def changfang(address, area):
# print('房子的地址在:{},是一个毛坯房。建筑面积是:{}平米'.format(address, area))
#
#
# @decorater
# def hotel(name, address, area=40):
# print('酒店的名字是:{},酒店的地址是:{},是一个毛坯房,单间的建筑面积是:{}平米'.format(name, address, area))
#
#
# house('北京四合院')
#
# print('--------')
#
# changfang('北京沙河北大桥', 1000)
# print('------->')
#
# hotel(name='全集大酒店', address='北京国贸')
# import requests
# import json
# osurl = "http://192.168.100.10"
# body={
# "auth":{
# "identity":{
# "methods":["password"],
# "password":{
# "user":{
# "id":"d618c8ee2d234997889b62ee18562ee0",
# "password":"000000"
# }
# }
# },
# "scope":{
# "project":{
# "id":"5e7709cbbd7c4c0e8733c3f7360d1d38"
# }
# }
# }
# }
# headers = {}
# def get_token():
# url = osurl+":5000/v3/auth/tokens"
# re = requests.post(url,headers=headers,data=json.dumps(body)).headers["X-Subject-Token"]
# return re
# def flavor_create():
# url = osurl+":8774/v2.1/flavors"
# headers["X-Auth-Token"] = get_token()
# body = {
# "flavor":{
# "name": "centos7.8",
# "id": 302,
# "vcpus": 1,
# "ram": 2048,
# "disk": 40,
# }
# }
# re = requests.post(url,data=json.dumps(body),headers=headers).json()
# print(re)
# return re
# flavor_create()
# """
# 装饰器修饰由返回值函数
#
# """
#
# def decorater(func):
# def wrapper(*args, **kwargs):
# r = func(*args, **kwargs)
# print('预计装修费用')
# print('刷漆')
# print('铺地板')
# print('买家具')
# print('精装修房子')
# return 60000
#
#
# return wrapper
#
#
# @decorater
# def house():
# print('我是一个毛坯房')
# return 50000
# r = house()
# print(r)
#
#
#
#
# def outer_check(time):
# def check_time(action):
# def do_action():
# if time < 22:
# return action()
# else:
# return '对不起,你不具有该权限'
# return do_action()
#
#
# return check_time()
#
#
# @outer_check(23)
# def play_game():
# return '玩游戏'
#