路桥专业,自费学的Python

路桥专业,自费学的Python,第1张

编译型语言(c/c++/Java)和解释型语言(python):翻译的时间不一样,前者在程序执行之前,把程序转变为机器语言。(前者把外语书直接翻译为中文。直接读中文书)后者,在程序运行的时候,执行一行代码,就翻译成机器码运行一次。(下次再执行程序时,还需重新翻译。直接读外文书)后者没有对应的编译过程,他效率没前者高(差别越来越小)。后者代码可以直接修改,运用较广。前者修改代码,需重新重头到尾翻译。

计算机是二进制 0和1 通和不通两种状态

a=1为赋值语句,表示把右边的值1赋值给左边的变量a接收

nameError:命名错误

变量是一个杯子 变量r没有引号引起来,有引号就成了常量r

 

没有被赋值的变量,不能读取出来

#表示的是注释(快速注释alt+3,批量取消注释alt+4    shift+3  多行注释三个单引号或双引号),注释的语句不会运行

变量就是值可以变化的对象   变量保存在内存里面      变量的命名:1.可以由字母,数字,下划线(不用驼峰命名法了I L 1,改用下划线了)组成b b1 b_2 错:3_b 不能以数字开头 2. 不能把关键字或保留字当做变量名(橘色)   import(导入一个模块) keyword print(keyword.kwlist) 得到的就是Python.当前内置的关键字和保留字  3.内置函数也不能当做变量名(紫色) 查看dir(双下划线builtins双下划线)  4.区分颜色:正常变量为黑色,紫色、黄色都不行  5.见名知意或者还可以加上注释  只要有名字的,才会保存在内存里面,没有名字的,通通都会被当成垃圾回收掉

输入函数:input()   in_a(用来接收输入的数字=input()

函数一定要加括号,括号内为提示性文字

input(输出语句)接收到的数据都是字符串类型,可用type()来查看类型,变量接收到的,只有你输入的数字,不会接收到你输入的提示的文字

'2'加了引号的,是字符串数据

输出(print)语句,end的默认参数是换行,如果想要在同一行打印多个的话,就需要修改end的参数

end里面的内容连接两个输出语句的内容  \n是换行

 

syntaxError(语法错误),在编译模式下,直接无法运行

交互模式(也叫脚本模式)下,前面的代码不可以删

编辑模式下,要输出结果,就需要使用print函数

alt+p直接复制上一行代码(只能在交互模式中)

一直再按,就再往上推一行,一次类推

=:赋值,可以把右边的数值给到左边的变量

x=

y=

z=

可以写同一行x,y,z=1,2,3用逗号隔开

小结:变量 引用和名字 关键字 输入输出

数字类型  Python里面严格区分大小写

查看数据类型:type(a)  a=1  int 整型(整数) 

al=1.23  float  浮点型(浮点数)

True 代表1  False代表0  属于bool 布尔型

1+2j complex复数(了解即可)

+-* ** / //%幂运算**  2**3=8

整除(取整数,即向下取整)// 3//2=1 7//2=3  3.5//3=1.0

%取余(余数,不是小数)5%2=1  5%3=2

字符串 str      '2'+'3'='23'字符2和3,进行的是(字符串相加叫)字符串的拼接   字符串和数字不能相加  转换数字类型:2+'3'=

str(2)+'3'='23'  str(数字)  将数值类型转化成字符串

2+int('3')=5  int(字符串) 将字符串转成整型

定义字符串(用引号引起来的内容就属于字符串类型,里面的每一个文字(包括中文,英文字母,符号,空格)都称之为字符)的方式

1.单引号 str1='hello111'

2.双引号 str2=''hello222''

单双引号的区别:为了嵌套使用,引号里面还有引号,如果需要这种情况,需要使用两种不同的引号

3.三引号 三个单引号或三个双引号 \n表示换行符 三引号可以换行

 字符串的计算

+ 这种叫做字符串的拼接

*表示把当前的字符串重复几遍(字符串*数字 不能是浮点数)

字符串没有减法、除法运算,只有加法和乘法运算,字符串可以跟整型相乘,不能与字符串相乘

字符串的拼接

1.+只能用于字符串

2.%s相当于占位符   str1='2021' str2='4'  str3='21' '%s年%s月%s日'%(str1,str2,str3)多个变量一定要用括号括起来,之间用逗号隔开  按顺序,不能插队,也不能随意更换位置    '%s222'%111单个一个不需要用括号括起来

'111222'   '%s222%s'%(111,333)   '111222333'

3.join 在统一拼接符时最方便,也只能用于字符串 '-(用什么内容去拼接)'.join([str1,str2,str3]) 中间用中括号,小括号也可以,但不推荐

 4.format '{}年{}月{}日'.format(str1,str2,str3)按顺序

'{1}年{2}月{0}日'.format(str1,str2, str3)数字表示下标,下标从0开始

注意join和format前面的“.”不要漏了

f'{str1}年{str2}月{str3}日' f是format的简写

 记 字符串的格式化

%d格式化整数  针对的是数字  '%d'%12.888  12

'%d'%'12.333'  报错

'%4d'%12.888   '  12'  数字表示字符串长度(包括数字的总长度)  默认用空格补齐

'%06d'%12.888  '000012'  数字0或.表示用不够长度,用0补齐

记 格式化浮点数 %f

'%f'%10  '10.000000' 默认保留小数点后六位

'%.2f'%8.8 数字表示保留小数点后两位

'%05.2f'%8.8   '08.80' 数字5是长度,数学0表示不够长度用0补齐  

'%05.5f'%4.56  不够长度用0补齐,不加0表示用空格补齐,保留小数点后5位

'4.56000'长度为7了,如果没超过长度5才需要补,要是超过了,是多长就多长

格式化成asc11码 %c

'%c'%97  'a'

ord() 将字符变成对应asc11值

ord('a')  97

chr() 将asc11码值变成对应的字符

chr(65)  'A'

八进制%o     '%o'%9  '11'

十六进制%x 在10~15之间的数字通过a~f来表示

'%x'%10   'a'      '%x'%17    '11'

记  原样输出对象%r

 

模块   要用,就得先通过import导入模块

高精度模块  decimal  decimal.Decimal(放字符串类型,放原本的浮点数,还是不精确的)   解决原本字符串的计算运行不精确

2.2-2   0.20000000018

import decimal 

decimal.Decimal('2.2')-decimal.Decimal('2')

Decimal('0.2')

float(decimal.Decimal('2.2')-decimal.Decimal('2'))   

0.2

数学模块(是数学类型,不适合用于字符串),即math模块

要用的话,还是得先导入模块  import math

向上取整 math.ceil() 向上取整(整数位直接往前进一位)  math.ceil(2.4)  3

向下取整 math.floor()  保留整数math.floor(2.8)  2

math.pi  π

绝对值 math.fabs(-2)  2.0  只有取整的时候才是整数,其他情况下都是浮点数

开平方math.sqrt(9)  3.0

math.pow(x,y) x的y次方

查看其他模块dir(其他模块的名字)

dir(math) 查看math模块里面的所有内置方法

 

 小数点后太多位小数,格式化浮点数%.2f,保留两位小数  直接在input那,将字符串转化为浮点数,浮点数比整数更精确些

 99乘法表有9行,a决定行数

 a<5改为a<=9

 第一行一列

第二行两列

,

第九行九列

列数和行数相等

b1 b2 b3 b4,改变的是内层循环上的b,列数要和行数相等,则b<5改为b<=a(

若改为b<=9,则如上图所示 )

 f'{列数b}x{行数a}={a*b}',再把后面print打印的东西去掉,print里面不写内容,自带换行

外层循环决定行

内层循环是列数

 对齐:使结果两位数,'%2d'%(a*b) 2为默认右对齐,-2默认左对齐

 倒过来

多改一下,不断调试,错了没关系,一个个去改,最后总会得到正确答案

random.randint(1,100). 1可取,100也可取

 优化:

 加变量

 

 是否游戏结束后继续完,如果输入的是是,继续循环,否则直接break结束

 

 

 

 

 

 

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/870700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存