第四天

1.数值类型(部分):

布尔类型,整型,浮点型。

整型:python的整型结合了整型和长整型。所以python很方便进行大数运算。

浮点型:小数类型,python区分整型和浮点型根据小数点。有小数点是浮点型,没有小数点是整型。

布尔类型:表示真(True),假(False)。也是一种特殊的整形。True=1,False=0. (python中可以把True 和False当作1和0参与计算。但是实际上是不妥的。不要在实际应用中这样做。)

2.e记法(科学计数法):

用来表示特别大或者特别小的数。

eg:a=0.0000000000000000000000000025

print(a)

2.5e-27

eg:1.5e11

150000000000.0

15e10

150000000000.0

3.数据类型转换:

3.1. 转换为字符串:str()

3.2. 转换为整数:int()

3.3. 转换为浮点型:float()

3.1.1 字符串转换为整数的时候字符串必须是数字。无法完成 int('小甲鱼') 会报错。

eg: str(5.99) 的结果为'5.99';

str(5e19) 的结果为:'5e+19';

3.2.1 python处理浮点型转化为整数的时候是正数是向下取整的。对于负数则刚好相反 —— 是向上取整。

eg: int(5.99) 的结果为5 ;

3.2.2 四舍五入的简易写法:int(x+0.5)

“四舍五入”结果为:5,int(5.4+0.5) == 5

“四舍五入”结果为:6,int(5.6+0.5) == 6

3.3.1 转化浮点型的时候:

eg: float('520') 的结果为 520.0;

float(520) 的结果为: 520.0;

4.获取关于类型的信息

4.1 type()

eg: type('520') 的结果为

type(520) 的结果为

type(True) 的结果为

type(5e15) 的结果为 注:e记法就是浮点型的一种。

4.2 isinstance()

isinstance('520',str) #两个参数,第一个为要判断类型的内容或者变量,第二个为要判断的类型。如果内容或者变量符合对应的类型则返回 True 反之返回 False。

4.3 对于 type() 和 isinstance() 建议使用 isinstance(),因为它的返回结果比较直接,另外 type() 其实并没有你想象的那么简单

5.Python3 可以给变量命名中文名

Pyhton3 源码文件默认使用utf-8编码(支持中文)。

6.isdigit

Python中 isdigit() 方法检测字符串是否只由数字组成。

s 为字符串

s.isalnum()   所有字符都是数字或者字母,为真返回 True,否则返回 False。

s.isalpha()所有字符都是字母,为真返回 True,否则返回 False。

s.isdigit()所有字符都是数字,为真返回 True,否则返回 False。

s.islower()所有字符都是小写,为真返回 True,否则返回 False。

s.isupper()所有字符都是大写,为真返回 True,否则返回 False。

s.istitle()  所有单词都是首字母大写,为真返回 True,否则返回 False。

s.isspace()所有字符都是空白字符,为真返回 True,否则返回 False。

例如:

>>> s = 'I LOVE FISHC'

>>> s.isupper()

>>> True

7. 补充知识点

Python数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

函数                          描述

int(x [,base])              将x转换为一个整数

long(x[, base] )          将x转换为一个长整数

float(x)                       将x转换到一个浮点数

complex(real[, imag]) 创建一个复数

str(x)                          将对象 x 转换为字符串

repr(x)                        将对象 x 转换为表达式字符串

eval(str)                      用来计算在字符串中的有效Python表达式,并返回一个对象/td][/tr]

tuple(s)                       将序列 s 转换为一个元组

list(s)                          将序列 s 转换为一个列表

set(s)                         转换为可变集合

dict(d)                        创建一个字典。d 必须是一个序列(key, value)元组。

frozenset(s)               转换为不可变集合

chr(x)                         将一个整数转换为一个字符

unichr(x)                    将一个整数转换为Unicode字符

ord(x)                         将一个字符转换为它的整数值

hex(x)                        将一个整数转换为一个十六进制字符串

oct(x)                         将一个整数转换为一个八进制字符串

8.改进游戏

importrandom

times= 3secret= random.randint(1,10)print('------------------猜猜猜------------------')

guess=0print("不妨猜一下我现在心里想的是哪个数字:", end=" ")while (guess != secret) and (times >0):

temp=input()iftemp.isdigit():

guess=int(temp)if guess ==secret:print("我草,你是我心里的蛔虫吗?!")print("哼,猜中了也没有奖励!")else:if guess >secret:print("哥,大了大了~~~")else:print("嘿,小了,小了~~~")if times > 1:print("再试一次吧:", end='')else:print("机会用光咯T_T")else:print("抱歉,您的输入有误,请输入一个整数:", end='')

times= times - 1 #用户每输入一次,可用机会就-1

print("游戏结束,不玩啦^_^")

第五天

1.算数操作符:

+ - * / % ** //

加 减 乘 除 取余 幂运算 地板除

2. 加减乘除 地板除

eg:a = 5

a = a +3

a += 3

a = 11

b = 3

b -= 1

b = 2

a = b = c = d = 10

a += 1 a=11

b -= 3 b=7

c *= 10 c=100

d /= 8 d=1.25

地板除法:整数除以整数,默认返回一个整数类型。(向下取整)也就是丢掉多余的小数。

在python3除法已经是真正的除法了,/是直接的除法不再是地板除法。在python中 //执行的则是地板除法。

地板除法例子:

eg:

10//8 #结果是1

3.0//2 #结果是1.0

3. %求余:

eg:

5%2 #结果是1

11%2 #结果是1

4. **幂运算:

eg:

3**2 #结果是9

3**5 #结果是243

5.优先级问题:

所以先乘除后加减遇到括号里的先算括号里面的。

eg:-3 * 2 + 5 / -2 -4 #结果是-12.5

比较操作符比逻辑操作符优先级高

eg:3 <4 and 4 < 5 #结果是True

- 被当做负号使用的时候是一元操作符(单目操作符)

幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低。

eg: -3 ** 2 #结果是-9

-(3 ** 2) #上式解释为本式

3 ** -2 #结果是0.1111111111111111

3 ** (-2) #上式解释为本式

6.比较操作符:

7.逻辑操作符:

and:左侧右侧同时为真。(True)则结果为真(True)。

or :只需要左边或者右边两边任意一边为真(True)那么结果为真(True)。两边同时为假(False)时,结果才为假(False)。

not:操作符是一元操作符。只有一个操作数,做取反操作。

eg:not False #结果是True

not True #结果是False

not 0 #结果是True

not 4 #结果是False (非0的数默认为True)

在python还可以这样写:

eg:3 < 4 < 5 #结果是True

被解释为:3 < 4 and 4 < 5

逻辑操作符优先级 not > and >or 。

第六天

0.了不起的分支和循环

判断:该不该做某事。if else

循环:持续的做某事。while

1.

● —按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。

● 解题方案:

一method1.py

一method2.py

一method3.py

method1.py :

score = int(input('请输入一个分数:'))if 100 >= score >= 90:print('A')if 90 > score >= 80:print('B')if 80 > score >= 60:print('C')if 60 > score >=0:print('D')if score < 0 or score > 100:print('输入错误!')

method2.py:

score = int(input('请输入一个分数:'))if 100 >= score >= 90:print('A')if 90 > score >= 80:print('B')if 80 > score >= 60:print('C')if 60 > score >=0:print('D')if score < 0 or score > 100:print('输入错误!')

method3.py:

score = int(input('请输入一个分数:'))if 100 >= score >= 90:print('A')if 90 > score >= 80:print('B')if 80 > score >= 60:print('C')if 60 > score >=0:print('D')if score < 0 or score > 100:print('输入错误!')

比较 method1.py,method2.py,method3.py 的优劣势

逻辑上: method2.py==method3.py

elif == else if

体现了:python两大特性:简洁,可读性好

method1.py 把输入的值判断五次,事实上如果输入的是 98,输出 A,后面的完全可以不用再判断了。判断后面四次完全是在浪费 CPU 的时间。

method2.py , method3.py 的效率是 method1.py 的4倍。

2. Python可以有效避免“悬挂else”

● 什么叫“悬挂else”?

● 我们举个例子,初学C语言的朋友可能很容易被以下代码欺骗:

if ( hi > 2)if ( hi > 7)

printf(“好棒!好棒!”);elseprintf(”切~”);

看起来下面的 else 应该是和 if ( hi > 2 ) 匹配。但是实际上 C 语言有就近匹配原则,下面的 else 应该和 if ( hi > 7 ) 相匹配。

而 python 没有悬挂 else 的问题。

python 强制规定必须要正确对齐缩进否则无法运行,python 让程序员决定 else 属于哪个 if。

通过限制选择,减少不确定性。

3. 条件表达式(三元操作符)

● 有了这个三元操作符的条件表达式,你可以使用一条语句来完成以下的条件判断和赋值操作:

x , y = 4 , 5

if x

small=Xelse:

small= y

● 例子可以改进为:

small = x if x < y else y

语法:x if 条件 else y

三元操作符(三目操作符)实际上是看这个操作符有几个操作数。

赋值号有两个操作数就是二元操作符。

减号只有一个操作符就是一元操作符。

三元操作符就是有三个操作数。

(818)python作者推崇简洁的编程理念,很长一段时间python没有三元操作符概念,他觉得三元操作符会使得程序结构变得非常复杂。

但是 python 社区小伙伴表达了极大的诉求,所以最后还是加上了。大概是2.5的时候加入的。

4. 断言(assert)

● assert 这个关键字我们称之为“断言”, 当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。

举个例子:

>>> assert 3 > 4

● 一般来说我们可以用 Ta 在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。

与其让错误的条件导致程序后面会出现莫名其妙的 bug 或者崩溃不如在错误条件出现的时候自爆并捕捉合理的处理。

第七天

0. while 循环

while 条件:

循环体

注:在条件为真的时候执行某一段指定的代码。直到条件为假。

1. for 循环

● 虽然说 Python 是由 C 语言编写而来的,但是 Ta 的 for 循环跟 C 语言的 for 循环不太一样,Python 的 for 循环显得更为智能和强大!

● 语法:

for 目标 in 表达式:

循环体

注:python 的 for 循环可以调用迭代器的 next() 方法,会自动的去捕获StopIteration()这个异常,并结束循环。

小甲鱼提到的以后会讲的:'列表',‘元组’。

标准数据类型:

在内存中存储的数据可以有多种类型。

例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。

Python 定义了一些标准类型,用于存储各种类型的数据。

Python有五个标准的数据类型:

● Numbers(数字)

● String(字符串)

● List(列表)

● Tuple(元组)

● Dictionary(字典)

2. 例子:

0.

favourite='FishC'

for i infavourite:print(i,end=' ')#结果:F i s h C

1.

member=['子鹿','小布丁','黑夜','迷途','怡静']for each inmember:print(each,len(each))#结果:子鹿 3#小布丁 3#黑夜 2#迷途 2#怡静 2

3. range()

● 语法: range( [strat,] stop[, step=1] )

— 这个BIF有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。

— step=1 表示第三个参数的值默认值是1。

— range这个 BIF 的作用是生成一个从 start 参数的值开始到 stop 参数的值结束的数字序列。

4. 例子:

1.

range(5)#结果:range(0, 5)

2.

list(range(5))#结果:[0, 1, 2, 3, 4]

3.

for i in range(5):print(i)#结果:0#1#2#3#4

4.

for i in range(2,9):print(i)#结果:2#3#4#5#6#7#8

5.

for i in range(1,10,2):print(i)#结果:1#3#5#7#9

6.

for num in range(10,20): #迭代 10 到 20 之间的数字

for i in range(2,num): #根据因子迭代

if num%i == 0: #确定第一个因子

j=num/i #计算第二个因子

print ('%d 等于 %d * %d' %(num,i,j))break #跳出当前循环

else: #循环的 else 部分

print (num, '是一个质数')#结果:10 等于 2 * 5#11 是一个质数#12 等于 2 * 6#13 是一个质数#14 等于 2 * 7#15 等于 3 * 5#16 等于 2 * 8#17 是一个质数#18 等于 2 * 9#19 是一个质数

4. 补充知识点:字符串格式化

1.字符串

print ("His name is %s"%("Aviad"))#结果 His name is Aviad

2.整数

print ("He is %d years old"%(25))#结果 He is 25 years old

3.浮点数

print ("His height is %f m"%(1.83))#结果 His height is 1.830000 m

4.浮点数(指定保留小数点位数)

print ("His height is %.2f m"%(1.83))#结果 His height is 1.83 m

5.占位符宽度

print ("Name:%10s Age:%8d Height:%8.2f"%("Aviad",25,1.83))#结果 Name: Aviad Age: 25 Height: 1.83

6.占位符宽度(左对齐)

print ("Name:%-10s Age:%-8d Height:%-8.2f"%("Aviad",25,1.83))#结果 Name:Aviad Age:25 Height:1.83

7.指定占位符(只能用0当占位符?)

print ("Name:%-10s Age:%08d Height:%08.2f"%("Aviad",25,1.83))#结果 Name:Aviad Age:00000025 Height:00001.83

8.科学计数法

format(0.0015,'.2e')#结果 '1.50e-03'

9.词典来传递真实值

print ("I'm %(c)s. I have %(l)d yuan." % {'c':'hungry','l':22})#结果 I'm hungry. I have 22 yuan.

格式符

格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型,如下:

%s 字符串 (采用str()的显示)

%r 字符串 (采用repr()的显示)

%c 单个字符

%b 二进制整数

%d 十进制整数

%i 十进制整数

%o 八进制整数

%x 十六进制整数

%e 指数 (基底写为e)

%E 指数 (基底写为E)

%f 浮点数

%F 浮点数,与上相同

%g 指数(e)或浮点数 (根据显示长度)

%G 指数(E)或浮点数 (根据显示长度)

%% 字符"%"

可以用如下的方式,对格式进行进一步的控制:

%[(name)][flags][width].[precision]typecode

(name)为命名

flags可以有+,-,' '或0。+表示右对齐。-表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。

width表示显示宽度

precision表示小数点后精度

比如:

print("%+10x" % 10)

print("%04d" % 5)

print("%6.3f" % 2.3)

上面的width, precision为两个整数。我们可以利用*,来动态代入这两个量。比如:

print("%.*f" % (4, 1.2))

Python实际上用4来替换*。所以实际的模板为"%.4f"。

总结:

Python中内置的%操作符可用于格式化字符串操作,控制字符串的呈现格式。Python中还有其他的格式化字符串的方式,但%操作符的使用是最方便的。

5. 两个关键的语句:

1. break:终止当前循环。跳出循环体。

eg:

bingo = '子鹿是帅哥'answer= input('请输入子鹿最想听的一句话:')whileTrue:if answer ==bingo:breakanswer= input('抱歉,错了,请重新输入(答案正确才能退出游戏):')print('哎呦,帅哦~')print('您真是子鹿肚子里的蛔虫啊^_^')

2. contiune:终止本轮循环并开始下一轮循环。

注:开始下一轮循环之前会判断循环条件,如果成立则开始下一轮循环。否则退出循环。

eg:

for i in range(10):if i%2 !=0:print(i)continuei+=2

print(i)#结果:2#1#4#3#6#5#8#7#10#9

python输入两个操作数和一个操作符_Python基础学习笔记贰相关推荐

  1. 用vb编制一个计算机程序,VB程序题:编一模拟袖珍计算器的完整程序,界面如下图所示。要求:输入两个操作数和一个操作符,根据操作符决定所做的运算。 VB源码 龚沛曾...

    VB程序题:编一模拟袖珍计算器的完整程序,界面如下图所示.要求:输入两个操作数和一个操作符,根据操作符决定所做的运算. VB源码 龚沛曾 提示: 1.为了程序运行正确,对存入操作符的文本框Text3, ...

  2. 制作简易计算器:接收用户输入,两个操作数,一个操作符,给出用户结果。2021/01/17

    制作简易计算器:接收用户输入,两个操作数,一个操作符,给出用户结果.写在script中 var x=prompt("请输入第一个数字:",""); var y= ...

  3. guido正式发布python年份_Python 基础学习笔记.docx

    Python 基础学习笔记 基于<Python语言程序设计基础(第2版)> 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 计算机的概念 计算机是根据指令操作数据的设备, ...

  4. python基础知识笔记简书_Python基础学习笔记

    Python貌似有点火热,上手还是比较简单的,自己找了个教程也偷偷的学习一下,扒了一下网上的图片和数据,感觉并不是很难呀(不过之前换电脑,代码丢了,有点可惜,不过网上教程一抓一大把,随便看看也能扒一些 ...

  5. python基础笔记_python基础学习笔记(九)

    python异常 python用异常对象(exception object)来表示异常情况.遇到错误后,会引发异常.如果异常对象并未被处理或捕捉,程序就会用所谓的 回溯(Traceback, 一种错误 ...

  6. python保存数据型变量_Python基础学习笔记(一)变量与数据类型

    https://m.toutiao.com/is/J3fN6eK/ Python是一门易学的面向对象的程序设计语言,可以轻易地完成界面.文件.封装等高阶需求,可移植性好,有非常多功能强大的库与包,如N ...

  7. python 去掉双引号_Python基础学习笔记(一)变量与数据类型

    Python是一门易学的面向对象的程序设计语言,可以轻易地完成界面.文件.封装等高阶需求,可移植性好,有非常多功能强大的库与包,如Numpy(数值计算).SciPy(数学.科学与工程计算).Matpl ...

  8. 的python输入两个运算数及一个运算符_用Python解“两个数的简单计算器”题

    7-12 两个数的简单计算器 本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加.减.乘.除或求余运算.题目保证输入和输出均不超过整型范围. 输入格式: 输入在一行中依次输入操作数1 ...

  9. Python 计算两个连通子图距离_【CV学习笔记】图像的计算

    关注"深度学习冲鸭",一起学习一起冲鸭! 设为星标,第一时间获取更多干货 作者:云时之间 来源:知乎 链接:https://zhuanlan.zhihu.com/p/1038790 ...

最新文章

  1. 【T07】不要低估tcp的性能
  2. MongoDB Sharding分片配置
  3. 出售带漏洞的设备违法吗?德国消协拟起诉一家地方零售商
  4. 大数据之数据库mysql优化实战(一)
  5. htc资料和js和css的嵌套
  6. ADO.NET提供的Connection类总结
  7. php 开启,PHP服务的开启详细步骤
  8. des加密密码补位_密码学中的数据加密标准(DES)
  9. ironpython2.7.8相当于python3.7吗_IronPython与numpy的Python速度之比较
  10. echars x轴单位_如何让echarts中y轴的单位位于数值的右上角
  11. MySQL亿级数据数据库优化方案测试-银行交易流水记录的查询
  12. 计蒜客挑战难题:简单斐波那契
  13. 动态代理 aop切面实现事务管理
  14. 数据管理管的是哪些方面
  15. 与机器对话,阿里达摩院挑战新一代人机对话技术
  16. idea开发SSM框架乐器租赁网站管理系统 (javaweb-php-asp.netC#-j2ee-springboot)
  17. 广义相对论-学习记录7-第三章-张量分析与黎曼几何4
  18. 帆软填报--导入Excel前清空数据库表
  19. 2022年上半年软件设计师考试下午真题(专业解析+参考答案)
  20. 网易之小易最近在数学课上学习到了集合的概念,集合有三个特征:1.确定性 2.互异性 3.无序性.需要根据给定的w,x,y,z,求出集合中一共有多少个元素。

热门文章

  1. CSDN每日一练:蛇形矩阵
  2. 阿里云-印刷文字识别-营业执照识别
  3. FlyThings OS:基于Linux实现现代化人机交互体验的新嵌入式操作系统
  4. 图文推荐系统之数据冷启小结
  5. Mac通过命令行搜索文件
  6. 微服务系统架构设计系列 - RateLimiter - 1. 限流器简介与一般算法
  7. 程序员必备的5个工作技能
  8. 软考高项——【第一章-信息系统】超详细知识点
  9. 荣耀20青春版装鸿蒙系统,华为鸿蒙2.0系统正式发布,只有这55款华为设备,可升级鸿蒙系统...
  10. linux下twm切换gn,检测快速用户切换Linux