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))