继续填坑,按着计划开始看《笨方法学Python》这本书
虽然作者一再强调要按照书来,不要跳节,但是我去年已经基本把python基础知识学完了,虽然学完了但是就放下了没怎么动手实践。继续看这本书主要是想复习并提高一下python的编程能力。所以只是跑例子,还是用python3.6了.
直接
习题一:第一个程序
加分练习
1. 让你的脚本再多打印一行。
加一句print('\n')
2. 让你的脚本只打印一行。
print("Hello World!",end="")
print("Hello Again",end="")
print("I like typing this.",end="")
print("This is fun.",end="")
print("Yay! Printing.",end="")
print("I'd much rather you 'not'.",end="")
print('I "sai" do not touch this.',end="")
3. 在一行的起始位置放一个 ‘#’ (octothorpe) 符号。它的作用是什么?自己研究一下。
#就是注释的意思,所以该行不会被显示
习题二:注释和井号
#注释单行
''''''以及""""""可以注释多行
这一节直接过了
习题三:数学和数学计算
加分练习
1. 使用 # 在代码每一行的前一行为自己写一个注解,说明一下这一行的作用。
#练习三
#现在我要数我的鸡
print("I will now count my chickens: ")
#母鸡,25+30/6
print("Hens",25+30/6)
#公鸡,100-25*3%4
print("Roosters",100-25*3%4)
#现在我要数鸡蛋
print("Now I will count the eggs: ")
#计算
print(3+2+1-5+4%2-1/4+6)
#3+2<5-7正确吗
print("Is it true that 3+2<5-7?")
#计算
print(3+2<5-7)
print("What is 3+2?",3+2)
print("What is 5-7?",5-7)
print("Oh, that's why it's False.")
print("How about some more.")
print("Is it greater?",5>-2)
print("Is it greater or equal?",5>=-2)
print("Is it less or equal?",5<=-2)
2. 记得开始时的 <练习 0> 吧?用里边的方法把 Python 运行起来,然后使用刚才学到的运算符号,把 Python 当做计算器玩玩。
3. 自己找个想要计算的东西,写一个 .py 文件把它计算出来。
4. 有没有发现计算结果是”错”的呢?计算结果只有整数,没有小数部分。研究一下这是为什么,搜索一下“浮点数(floating point number)”是什么东西。
可能版本问题,我输出的是正确的有小数部分的数,所以……简单解释一下
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,1.23*10^9和12.3*10^8完全相等。
浮点数可以用数学写法,如1.23,3.14,-9.01,等等。
但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23*10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
5. 使用浮点数重写一遍 ex3.py ,让它的计算结果更准确(提示: 20.0 是一个浮点数)。
把整数写成小数如3变成3.0这样
下略
习题四:变量和命名
加分练习
1. 我在程序里用了 4.0 作为 space_in_a_car 的值,这样做有必要吗?如果只用 4会有什么问题?
运行结果没有什么变化,可以看出没有用到小数位或者说小数位无关紧要时,浮点型与整型互换是不影响最后结果的。
2. 记住 4.0 是一个“浮点数”,自己研究一下这是什么意思。
3. 在每一个变量赋值的上一行加上一行注解。
4. 记住 = 的名字是等于(equal),它的作用是为东西取名。
5. 记住 _ 是下划线字符(underscore)。
6. 将 python 作为计算器运行起来,就跟以前一样,不过这一次在计算过程中使用变量名来做计算,常见的变量名有 i , x , j 等等。
# 习题4
cars = 100 # 定义共有100辆车
space_in_a_car = 4 # 定义每辆车可坐四个人
drivers = 30 # 定义驾驶员共有30个
passengers = 90 # 定义乘客又90个
cars_not_driven = cars - drivers # 定义不被驾驶的车,即总归车辆数-司机个数
cars_driven = drivers # 定义被开的车就是司机人数,一个驾驶员开一辆车
carpool_capacity = cars_driven * space_in_a_car # 被开的车一共可以容纳的人
average_passengers_per_car = passengers / cars_driven # 实际平均每辆车容纳的人
print("There are", cars, "cars available.")
print("There are only", drivers, "drivers available")
print("There will be", cars_not_driven, "empty cars today.")
print("We can transport", carpool_capacity, "people today.")
print("We have", passengers, "to carpool today.")
print("We need to put about", average_passengers_per_car, "in each car.")
习题五:更多变量和打印
加分练习
my_name = 'Zed A. Shaw'
my_age = 35
my_height = 74 # inches
my_weight = 180
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'
print("Let's talk about %s." % my_name)
print("He's %d inches tall." % my_height)
print("He's %d pounds heavy." % my_weight)
print("Actually that's not too heavy.")
print("He's got %s eyes and %s hair." % (my_eyes, my_hair))
print("His teeth are usually %s depending on the coffee." % my_teeth)
print("If I add %d, %d, and %d I get %d." % (my_age, my_height, my_weight, my_age+my_height+my_weight))
1. 修改所有的变量名字,把它们前面的``my_``去掉。确认将每一个地方的都改掉,不只是你使用``=``赋值过的地方。
2. 试着使用更多的格式化字符。例如 %r 就是是非常有用的一个,它的含义是“不管什么都打印出来”。
3.在网上搜索所有的python格式化字符。
%% 百分号标记 #就是输出一个%
%s 字符串
%r 获取传入对象的__repr__方法的返回值,并将其格式化到指定位置
%c 字符及其ASCII码。
(整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置)
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中
4. 试着使用变量将英寸和磅转换成厘米和千克。不要直接键入答案。使用 Python 的计算功能来完成。
1英寸(inch)=2.54厘米(cm)
1磅(lbs)=0.45359237千克(kg)
my_name = 'Zed A. Shaw'
my_age = 35
my_height = 2.54*74 # inches
my_weight = 0.454*180
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'
print("Let's talk about %s." % my_name)
print("He's %.2f cm tall." % my_height)
print("He's %.2f kg heavy." % my_weight)
print("Actually that's not too heavy.")
print("He's got %s eyes and %s hair." % (my_eyes, my_hair))
print("His teeth are usually %s depending on the coffee." % my_teeth)
print("If I add %d, %d, and %d I get %d." % (my_age, my_height, my_weight, my_age+my_height+my_weight))
今天到此为止,可以说是很简单了。
明天继续……