马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 长脸哥哥 于 2017-11-24 14:37 编辑
嘀~房卡~
1. 课前准备
(1)课件下载:http://bbs.fishc.com/thread-38068-1-1.html
2. 学习笔记
(1)Python的变量是没有类型的,但不是说Pyhton没有数据类型
(2)Python的一些数值类型:整型,浮点型,布尔类型
(3)Python的整型与长整型整合在一起,可以很容易进行大数运算
(4)Pyhton区分浮点型与整型的唯一方式是是否有小数点,有小数点就是浮点型,没有就是整型
(5)e计法即平时生活中所说的科学计数法,e代表10,e后边的数字代表10的几次方,e计法的输出结果是浮点数
(6)布尔类型是一个特殊的整型,其中True代表整数1,False代表整数0
(7)布尔类型是可以计算的,但是把布尔类型当成1与0计算是不妥的,实际应用不要这样做
(8)类型转换函数:
int()将一个字符串或者浮点数转换成整数
str()将一个整数或者浮点数转换成一个字符串
float() 将一个整数或者字符串转换成一个浮点数
(9)type()函数用于返回括号内的类型
(10)isinstance()函数有两个参数,isinstance(待确定类型的数据,指定的一个数据类型),会返还一个布尔类型的值,True表示两者一致,False表示两者不一致
(11)今天所学BIF:type()返还括号内的类型,isinstance()判断类型是否相同,str()括号内转换成字符串类型,float()括号内转换成浮点型,int()括号内转出成整数型
3. 课堂代码
(1)字符串相加(字符串的拼接)练习:(2)数字相加练习:(3)e计法练习:a = 0.0000000000000000000000000025
a
(4)布尔类型计算练习(正常编程请不要使用):True/False会报错,因为分母为0(5)int()函数使用练习:int()括号内不为数字时会报错,如:如果是浮点数,会采用截断处理,直接将小数点后的数字去掉,如以下代码输出结果为5:(6)float()函数使用练习:(7)str()函数使用练习:(8)对内置函数赋值的风险(以下代码会报错,c不会被成功转为字符串类型):str="I love FishC.com"
str
c=str(5e19)
(9)type()函数使用练习:(10)isinstace()函数使用练习:a='小甲鱼'
isinstance(a,str)
isinstance(a,int)
4. 课后作业
4.1 测试题
(0)在Python中,int表示整型,那你还记得bool、float和str分别表示什么吗?
答:bool表示布尔类型,float表示浮点型,str表示字符串类型
(1)你知道为什么布尔类型(bool)的True和False分别用1和0来代替吗?
答:计算机系统基本都使用二进制,二进制数据是用0和1两个数码来表示的数,用1表示True,0表示Flase能够最大程度减少其占用的数据量
(2)使用int()将小数转换为整数,结果是向上取整还是向下取整呢?
答:向下取整,如4.99使用int(4.99)后结果为4
(3)我们人类思维也是习惯于“四舍五入“法,你有什么办法使得int()按照“四舍五入“的方式取整吗?
答:可以尝试一下在括号内+0.5达到“四舍五入”的目的,代码如下:输出结果为4输出结果为5
(4)取得一个变量的类型,视频中介绍可以使用type()和isinstance(),你更倾向与使用哪个?
答:isinstance()
建议使用isinstance(),因为它的返回结果比较直接,另外type()其实并没有你想象的那么简单,后边会讲到
(5)Python3可以给变量命名中文名,知道为什么吗?
答:源码文件使用UTF-8编码
(6)【该题针对零基础的鱼油】你觉得这个系列教学有难度吗?
答:有点吧,不过挺有意思的,对于新手需要自己动手动脑的地方挺多的,很不错
4.2 动动手
(0)针对视频中小甲鱼提到的小漏洞,再次改进我们的小游戏:当用户输入错误类型的时候,及时提醒用户重新输入,防止程序崩溃
如果你尝试过以下做法,请举下小手:temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
# 这种想法是因为 type(1) 会返回 <class 'int'>,如果 type(temp) 返回结果一致说明输入是整数。
while type(temp) != type(1):
print("抱歉,输入不合法,", end='')
temp = input("请输入一个整数:")
或者可能这样:temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
# not操作符的作用是将布尔类型的结果翻转:即取反的意思,not True == Flase
while not isinstance(temp, int):
print("抱歉,输入不合法,", end='')
temp = input("请输入一个整数:")
以上方法的思路是正确的,不过似乎忽略了一点儿:就是input()的返回值始终是字符串,所以type(temp)永远是<class 'str'>!
其实有蛮多的做法可以实现的,不过就目前而言我们学习过的内容来看,还不足够。
所以,在让大家动手完成这道题之前,小甲鱼介绍一点新东西给大家!
s为字符串
s.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。
s.isalpha() 所有字符都是字母,为真返回 Ture,否则返回 False。
s.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。
s.islower() 所有字符都是小写,为真返回 Ture,否则返回 False。
s.isupper() 所有字符都是大写,为真返回 Ture,否则返回 False。
s.istitle() 所有单词都是首字母大写,为真返回 Ture,否则返回 False。
s.isspace() 所有字符都是空白字符,为真返回 Ture,否则返回 False。
例如:
>>> s = 'I LOVE FISHC'
>>> s.isupper()
>>> True
好了,文字教程就到这里,大家赶紧趁热打铁,改造我们的小游戏吧!
答:代码如下:import random
times = 3
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
guess = 0
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times > 0):
temp = input()
while temp.isdigit() == False:
print("抱歉,输入不合法,",end=" ")
temp = input("请输入一个整数:")
guess = int(temp)
times = times - 1
if guess == secret:
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess > secret:
print("哥,大了大了~~~")
else:
print("嘿,小了,小了~~~")
if times > 0:
print("再试一次吧:", end=" ")
else:
print("机会用光咯T_T")
print("游戏结束,不玩啦^_^")
(1)写一个程序,判断给定年份是否为闰年。(注意:请使用已学过的BIF进行灵活运用)
这样定义闰年的:能被4整出但不能被100整除,或者能被400整除都是闰年
答:代码如下:temp=input("请输入一个年份:")
while temp.isdigit() == False:
temp=input("请输入一个年份,如2017 :")
temp=int(temp)
if temp/4 == int(temp/4) and temp/100 > int(temp/100) or temp/400 == int(temp/400):
print(str(temp)+"年是闰年")
else:
print(str(temp)+"年不是闰年")
(2)请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
答:type()与isinstance()的用法,str(),float(),int()的用法,字符串的一些判断方法,几种数据类型,e计法的使用
鱼哥的参考答案:http://bbs.fishc.com/thread-37420-1-1.html
下车~
|