编译型语言(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结束
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)