栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

学python第2天 学习日记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学python第2天 学习日记

1、特殊的格式化控制字符

a响铃
b回退1格
f换页
n

换行

r回车
t水平制表
v垂直制表
NULL,什么都不做

2、内置的字符串处理函数

len返回字符串长度或者元素个数
str返回字符串形式
chr返回Unicode编码对应的单字符
ord返回单字符的Unicode编码
hex返回整数对应十六进制的小写形式字符串
oct返回整数对应八进制数的小写形式字符串

3、编码

每个字符在计算机里表示的数字称为编码,字符串以编码序列的形式储存在计算机中

目前计算机常用的为ASCII编码,该编码用0-127表示常见字符和特殊值

凯撒密码采用了替代方法对信息中的每个英文字符循环替换为字母表序列中该字符后第三个字符。如A换成D,Z换成C。为其做一个自动化转化的程序。

plaincode = input("请输入明文:")
for p in plaincode:
    if ord("a") <= ord(p) <= ord("z"):
        print(chr(ord("a")+(ord(p)-ord("a")+3)%26),end='')
    else:
        print(p,end='')

4、内置的字符串处理方法

str.lower小写
str.upper大写
str.islower都是小写返回True,否则False
str.isprintable都是可打印的返回True,否则False
str.isnumeric都是数字返回True,否则False
str.isspace都是空格返回True,否则False
str.endswith(A[,strart,end])都是以A结尾返回True,否则False
str.startwith[B[,start,end])都是A开头返回True,否则Flase
str.split(sep=None,maxsplit=1)返回1个列表由str根据sep被分离的部分组成
str.replace(old,new)

返回str的副本,所有old替换成new

str.count计算出现字数
str.center字符串居中

str.strip(A)

左侧右侧去掉A
str.zfill(width)返回副本,长度为width,不足左侧补0
str.format排版格式规范化
str.join返回一个新字符串,由组合数据类型变量的每个元素组成,元素间用str分离

5、字符串格式化

字符串.format()

print("{}的成绩很好,在期末考试中考了{}分,{}班同学应该向他学习。".format("小明","100","五"))

#小明的成绩很好,在期末考试中考了100分,五班同学应该向他学习。

完整的format格式:

:<填充><对齐><宽度><,><精度><类型>

6、文本进度条

import time
scale = 10
print("------执行开始------")
for i in range(scale+1):
    a,b = '**' * i, '..' * (scale -i)
    c = (i/scale)*100
    print("%{:3.0f}[{}->{}".format(c,a,b))
    time.sleep(0.1)
print("-----执行结束-----")

"""
------执行开始------
%  0[->....................
% 10[**->..................
% 20[****->................
% 30[******->..............
% 40[********->............
% 50[**********->..........
% 60[************->........
% 70[**************->......
% 80[****************->....
% 90[******************->..
%100[********************->
-----执行结束-----

"""

7、单行动态刷新

将每一次进度输出都固定在同一行并不断地用新生成的字符串覆盖之前的输出,形成进度条不断刷新的动态效果

import time
for i in range(101):
    print("r{:2}%".format(i),end="")
    time.sleep(0.05)

输出没有单行刷新的可能原因:

IDLE本身屏蔽了单行刷新的功能,可以去控制台执行,或者在其他第三方集成中实现,如pycharm

8、带刷新的文本进度条

import time
scale = 50
print("执行开始".center(scale//2,'-'))
t = time.perf_counter()
for i in range(scale +1):
    a = '*' *i
    b = '.' *(scale-i)
    c = (i-scale)*100
    t -= time.perf_counter()
    print("r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,-t),end='')
    time.sleep(0.05)
print("n"+"执行结束".center(scale//2,'-'))

python在3.8版本中已不再支持time.clock()方法,因此使用了time.perf_counter()代替

9、程序的基本结构

程序有3种结构:顺序结构、分支结构和循环结构,,这些结构都只有1个入口和1个出口

分支结构:单分支、二分支

循环结构:条件循环、遍历循环

10、程序的描述方式

1)自然语言描述:使用人类语言直接描述

2)流程图:直观清晰,但是比较繁琐

3)伪代码:不拘泥于集体编程语言和语法但是保持基本的逻辑框架

11、if语句

if  条件:

    语句

if语句的执行与否依赖于条件判断

12、关系操作符

<小于
<=小于等于
>=大于等于
大于
==等于
!=不等于

13、二分支结构:if-else语句

if  条件:

    语句1

else:

    语句2

14、多分支结构:if-elif-else语句

if  条件1:

    语句1

elif  条件2:

    语句2

....

else:

    语句N

height,weight = eval(input("请输入身高(米)和体重(公斤):"))
bmi = weight / pow(height,2)
print("BMI数值为:{:.2f}".format(bmi))
who,dom = "",""
if bmi < 18.5:
    who = "偏瘦"
elif bmi < 25:
    who = "正常"
elif bmi < 30:
    who = "偏胖"
else:
    who = "肥胖"
if bmi < 18.5:
    dom = "偏瘦"
elif bmi < 24:
    dom = "正常"
elif bmi <28:
    dom = "偏胖"
else:
    dom = "肥胖"
print("BMI指标为:国际’{0},国内{1}".format(who,dom))

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/618947.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号