学习安排
在学习计算机语言的同时也要注重计算机理论的学习,所以打算把数据结构的学习列入课程。看《大话数据结构》以及学堂在线清华大学的数据结构网课,看完了再进行算法的学习以及其他基础理论的学习。同一时间学习的不要过多,学完一门在学另外一门。
此时的学习计划是python+数据结构。
上一次的练习
温度转换,华氏转摄氏
这里写的是最简单的转换,本来想要构造一个相互转换的程序,但是还是卡在了基础语法上。。。。脑海里只留下了C的语法,然后python学习进度还没有到条件函数那里,改的心态都要炸了,基础不牢,地动山摇啊
z=float(input("请输入华氏温度:"))
T=(z-32)/1.8
print('%.1f华氏度=%.1f摄氏度'%(z,T))
计算周长,面积
学会了把变量插入到字符串中,用%前后对应,
前端的穿插在字符串中的%加.数字f是专用于浮点数的数据类型,数字表示保留小数点后几位,如果是整数,则使用%d
尾端的%后的变量用括号包括,用逗号分隔,若只有一个变量则无需括号
(以上内容的专业名称是占位符)
%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
PI=3.1415926
r = float(input("请输入圆的半径:"))
l = float(2*PI*r)
s = float(PI*r*r)
print('圆的半径为:%.4f'%l)
print('圆的面积为:%.4f'%s)
在这里使用指数的符号 ^ 的话会报错,
平方的表示方法有两种,
一是A**2,则可以得到A的平方
二是可以调用python中的内置函数模块
import math
math.pow(x,y) //得到的结果是X的Y次方
一篇笔记的正确写法应该是遇到问题,提出问题,解决问题
判断闰年
首先是闰年的判断,一是能被4整除但不能被100整除,二是能被400整除
然后是运算符的选取,取余数的运算符为 %
n = int(input('请输入年份:'))
if n%400 == 0:
print('%d年是闰年'%n)
elif n%4==0:
if n%100==0:
print('%d不是闰年'%n)
else:
print('%d是闰年'%n)
运算符必须要掌握,在涉及计算比较等程序中
今日内容
分支结构/选择结构
if语句
可以根据要求选择两种结构
- if…elif…else…结构
- if…else…结构
可以用多个elif
如果需要更多的分支,可以进行语句嵌套(if语句中使用if语句),在上面的练习中我使用到了嵌套
同一级if语句缩进相同,在同一竖线上对齐
(if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了)
if判断条件还可以简写,比如写:
if x:
print(‘True’)
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。
今日练习作业
身份验证
分段函数求值
英寸与厘米互换
百分制成绩转换为等级制成绩
输入三条边长,如果能构成三角形就计算周长和面积
以下是补充学习的基础知识
字符编码的发展
ASCII: 只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号
要处理中文显然一个字节是不够的,因此中文有一套属于自己的编码,其他语言也有,几百种编码过于混乱会显示乱码
因此,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了
但是,全英文的文本,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算。
所以,更节省空间的“可变长编码”的UTF-8编码出现了。
转换
单个字符的编码,Python提供了ord() 函数获取字符的整数表示,chr()函数把编码转换为对应的字符
ord(‘A’)
65chr(66)
‘B’
要计算str包含多少个字符,可以用len()函数:
len(‘ABC’)
3len(‘中文’)
2
len()函数计算的是str的字符数,如果换成bytes,len()函数就计算字节数:
len(b’ABC’)
3
常用占位符
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数
format()
另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……
‘Hello, {0}, 成绩提升了 {1:.1f}%’.format(‘小明’, 17.125)
‘Hello, 小明, 成绩提升了 17.1%’