一直听说python很好学,用的人也很多,但是由于自己一直是一个垃圾coder,对编程语言有着天生的畏惧。
终于拖到了今天,眼看着要开始研究生学习,痛下决心决定好好学习语言,不能再让编程困扰一生。
学习教程是廖雪峰的网站:点击打开链接 以及B站的小甲鱼教学视频。B站真是一个学习娱乐两不误的好地方呀嘻嘻。
7.8
准备工作:
- python是一门优雅简洁的语言,面向对象,有大量的现成模块可以直接使用。用python写代码的感觉他们说就像搭积木。等我日后考察一下是否属实。
- python的版本分成了2.x和3.x,从3.0开始python的语法做了大的改动,与2.x以前的完全不相容,不过这次改动也证明python是一个牛逼的语言,毕竟敢于割舍并不值得留的做全身大换血也需要勇气的嘛
- python在编写的时候可以用记事本,不过推荐使用Notepad++,微软自带的notepad在编译的时候会产生编码混乱的问题。另外还可以使用IDLE,这个很好用,人称shell,就是python的外壳的感觉。
下面是正式的语法部分的习题:
- 输出print() 不需要加;表示结束,直接print()即可。输出字符串的话要用“”括起来。
- 输入input() 默认输入的为字符串类型,需要变形的话用int()或者float()啥的变个型。另外,input()有个有意思的用法,可以直接用input("please input your number:")这样的话可以直接打印出please input your number:
请打印出以下变量:
# -*- coding: utf-8 -*- n = 123 f = 456.789 s1 = 'Hello, world' s2 = 'Hello, \'Adam\'' s3 = r'Hello, "Bart"' s4 = r'''Hello, Lisa!'''
print('n=123')
print('f=456.789')
print('s1=\'Hello,world\'')
print("s1='Hello,world'")#形式2
print("s2='Hello,\\\'Adam\\\''")
print("s3=r'Hello,\"Bart\"'")
print("s4=r'''Hello,\nLisa!'''")

7.9
- 在python中会存在不是统一码制的问题,所以Unicode出现了,在python中就使用这个。
- 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符。
- 由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。
练习解答:
小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,并用字符串格式化显示出'xx.x%',只保留小数点后1位:
# -*- coding: utf-8 -*- s1 = 72 s2 = 85代码如下:
s1 = 72
s2 = 85
r = (s2-s1)/s1*100
print("小明的成绩提升了%.2f%%" % r)
- list是用来创建列表的,这是一个灵活可变动的列表。可以在其中插入,删除,索引(从0开始)。list中也可以嵌入其他list。
- tuple也像是一个列表,只不过一旦建立就无法改动了。所以在有些时候用它会比list更安全。只有一个元素的tuple要在元素之后加上,以示区分。同理在打印只有一个元素的tuple的时候也要加,以示区分。
- 有的tuple看起来会可变,其实质是其中插入了list
请用索引取出下面list的指定元素:
# -*- coding: utf-8 -*- L = [ ['Apple', 'Google', 'Microsoft'], ['Java', 'Python', 'Ruby', 'PHP'], ['Adam', 'Bart', 'Lisa'] ]代码如下:
L = [
['Apple', 'Google', 'Microsoft'],
['Java', 'Python', 'Ruby', 'PHP'],
['Adam', 'Bart', 'Lisa']
]
print(L[0][0])
print(L[1][1])
print(L[2][2])
打印出的是
- 条件判断的语句是if,else,若是有多种情况可以使用elif来进行判断。不要忘记在if的语句后面加上:,冒号之后就属于这个代码块了,该代码块内除了第一条判断的语句都要缩进4个空格。
- if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else。
练习解答:
小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
- 低于18.5:过轻
- 18.5-25:正常
- 25-28:过重
- 28-32:肥胖
- 高于32:严重肥胖
用if-elif
判断并打印结果:
# -*- coding: utf-8 -*- height = 1.75 weight = 80.5代码如下:
s1 = input('请输入身高:')
s2 = input('请输入体重:')
height = float(s1)
weight = float(s2)
BMI = weight/(height*height)
if BMI<18.5:
print(BMI,"过轻")
elif BMI>=18.5 and BMI<25:
print(BMI,"正常")
elif BMI>=25 and BMI<28:
print(BMI,"过重")
elif BMI>=28 and BMI<32:
print(BMI,"肥胖")
else:
print(BMI,"严重肥胖")
成功可以打印,之后看了一下别人的代码,发现有更简化的写法。BMI>=18.5 and BMI<25可以写成18.5<=BMI<25即可。并且在打印的时候小数点有点多。可以改成:
elif BMI>=25 and BMI<28:
print("%.2f%%" % BMI,"过重")
打印出来的就很好看啦。
7.10
- 在需要进行很多次重复操作的时候,就需要一个可以解放人力的东西——循环。
- 在循环里,可能会要出现1000,甚至10000等数字,总不能每一个每一个数字的手打,又不是手打面。所以,有一个叫做range()的函数可以生成序列。当然是从0开始的,range(5)的话生成的就是0,1,2,3,4
- 循环1——固定的循环(必须按顺序;不能提前结束):for循环。for x in…… 就是从……中的第一个开始依次选取元素,直至最后。
- 循环2——可以有循环条件的:while循环 while后面紧跟条件即可在满足条件的情况下循环
- 可以提前结束循环的语句:break,和c中的功能一样,不能循环了就用break跳出来。
- continue语句可以用来继续循环,当你不想结束循环的时候使用就行。通常它和楼上的break都必须和if在一起使用,大概这就是命运将他们紧紧相连吧!
练习
请利用循环依次对list中的每个名字打印出Hello, xxx!
:
L = ['Bart', 'Lisa', 'Adam']
for s in L:
print('hello,',s,'!')

练习:请尝试写一个死循环程序
n = 1
while n>0:
print(n)
n = n+1

疯狂打印,按ctrl+c强制结束的。
dic()是字典函数。就是当年需要建立一个成绩表的时候,或者是需要对应关系的表格的时候,会很方便。
剩下的明天整理,骨王更新了!