|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
下车~
|
|