格式化输出

name = input ('Entry your name:')
age = input('Entry your age:')
msg = 'Your name is %s, age is %s' %(name,age)
print (msg)
  • %是占位符 s 指的是str d是数字 还有i ,r

  • 字符串中有些内容要用传入的内容动态替换的时候,单纯输出%时候 输入2个%%

运算符

  • 算术运算符,比较运算符 ,逻辑运算符and or not ,赋值运算符 ,成员运算符

  • 逻辑运算符没有括号的时候优先级 not > and > or

  • if not a 可以解释成 if a is False

类型转化

  • 所有数字都可以转化成字符串 str(i)

  • 非零数字转化bool型都是true :bool(-1)=true

  • 不是所有字符串都可以装化成数字 : int(‘100a’)报错

  • x or y : x为真返回x 否则返回 y

  • x and y : x为真 返回y 否则返回x

  • print(1or2) 返回1

  • print(-1 or 2) 返回-1

  • print(0 or3) 返回 0

  • print(1and2) 返回 2

  • print (1 > 2 and 3 or 5) 返回5

编码(重要)

  • 最早期的密码本 美国的 ASCII码 2的7次方 128个 太少 中国的国标 gbk 包括ASCII 码 和中文

  • 8bit (位) = 1byte (字节) 一个汉字 2个字节

  • gbk 1个英文字母 一个字节byte

  • gbk 1个中文汉字 2个字节 byte 16位 有65535 个可能

  • Unicode :万国码,所有国家的文字都记录进去,为了涵盖,用4个字节 32位 太浪费

  • Utf-8:升级版,英文用1个字节,欧文用2个,汉字用3个,最常用

  • ’中国‘用gbk 4个字节 ,用Utf-8 6个字节

  • 8bit=1byte 1024byte = 1kB 1024KB=1MB

测试小游戏

  • 猜数字 写程序 给定一个0-100的整数 然后猜(输入一个数字),只返回大了或者小了,直到猜中为止

result = 55
min = 0
max = 100
while True:
   num = input('Entry a num:')
   if(int(num) > result):
       max = num
       print('大了,请在%s和%s之间选择一个数' %(min,max))
   elif int(num) < result:
       min = num
       print('猜小了,请在%s和%s之间选择一个数' % (min, max))
   else:
       print('猜对了!')
       break

数据类型

  • list 列表 [1,2,3,'abc','中国'],内容可以改变

  • tuple 元组 (12,True,'aaa')内容不可变

  • {’name‘,'Lee'}dict 关联数据类型,键值对

int

  • int 是个类 ,pycharm py文件中输入int 按住ctrl 点击 int 进入类定义

str 字符串(切片)

  • 按照字符串索引取值:s1 = ’hello‘ , s2=s1[0] , 返回 h

  • 按照切片取值:s1 = ’hello‘ , s2 = s1[0:2] , 返回 he, 也可以省略0 , s2 = s1[:2]

  • 步长取值:就是隔几个取一个 ,s2=s1[:3:1], 返回 hel ,s2=s1[:3:2] 返回 hl

  • 索引倒叙取值:s2=s1[-1:-4:-2],返回 ol

倒叙取字符串

  • print(s1[::-1]) ,返回 olleh

str字符串常用操作方法

  • s1='hello', s2 = s1.upper()

  • lower(),转成小写

  • startswith(),判断以什么开始? 返回bool

  • strip(),去空格,或者指定的字符

  • replace(),替换

  • split(),分割,默认按照空格分割,可以指定,分割完是 list

  • join(),s1=’hello‘,s2=’+‘.join(s1),print(s2),返回 h+e+l+l+o,还可以把list 内容连接起来

  • count(),计数,某个元素出现的次数

  • format(),print(’my name is {},my age is {}‘.format('Lee',25))



posted on 2020-07-02 20:27  94小渣渣  阅读(185)  评论(0编辑  收藏  举报