python中字典的基本操作编程
12345678900133049959902011039494933
可以参考下
# 1.创建字典
provinceDict = {'北京': '北京', '山东': '济南'}
# 2.输入数据
province_name = input("请输入省份名称:").strip()
provincial_capital_name = input("请输入省会名称:").strip()
# 3.向字典中添加数据
provinceDict.setdefault(province_name, provincial_capital_name)
# 输出字典内容
print(provinceDict)
# 4.输入省份名称查找省会城市
find_province_name = input("请输入要查找的省份名称:").strip()
find_provincial_capital_name = provinceDict.get(find_province_name)
if find_provincial_capital_name is None:
print("%s不存在" % find_province_name)
else:
print(find_provincial_capital_name)
可参考以下程序:
provinceDict = {"北京": "北京", "山东": "济南"}
while True:
province = input("请输入省份名称(quit 结束输入):")
if province == "quit":
break
capital = input("请输入省会名称:")
provinceDict[province] = capital
print(provinceDict)
while True:
province = input("请输入省份名称(quit 结束查询):")
if province == "quit":
break
capital = provinceDict.get(province, province + "不存在")
print(capital)
11、python递归的最大层数?998
12:求结果(and or or)
求结果:1 or 3
print(1 or 3) # 1
求结果:1 and 3
print(1 and 3) # 3
求结果:0 and 2 and 1
print(0 and 2 and 1) # 0
求结果:0 and 2 or 1
print(0 and 2 or 1) # 1
求结果:0 and 2 or 1 or 4
print(0 and 2 or 1 or 4) # 1
求结果:0 or Flase and 1
print(0 or False and 1) # Flase
总结:
# x or y 如果 x为真,则值为x, 否则为y
# x and y 如果 x 为真,则值为 y,否则为 x
运算符
print(2 & 5) # 10 & 101 => 000 => 0
2. 求结果:2 ^ 5
print(2 ^ 5) # 10 ^ 101 => 111 => 12**0+121+1*22=1+2+4=7
13 :ascii、unicode、utf-8、gbk 区别
python2内容进行编码(默认ascii),而python3对内容进行编码的默认为utf-8。
ascii 最多只能用8位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
unicode 万国码,任何一个字符两个字节
utf-8 万国码的升级版 一个中文字符三个字节 英文是一个字节 欧洲的是 2个字节
gbk 国内版本 一个中文字符==2个字节 英文是一个字节
gbk 转 utf-8 需通过媒介 unicode
14:字节码和机器码的区别
机器码,学名机器语言指令,有时也被称为原生码,是电脑的CPU可直接解读的数据。
字节码是一种中间状态(中间码)的二进制代码(文件)。需要直译器转译后才能成为机器码。
什么是机器码
机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据。
通常意义上来理解的话,机器码就是计算机可以直接执行,并且执行速度最快的代码。
总结:机器码是电脑CPU直接读取运行的机器指令,运行速度最快,但是非常晦涩难懂,也比较难编写
什么是字节码
字节码(Bytecode)是一种包含执行程序、由一序列 op 代码/数据对 组成的二进制文件。
字节码是一种中间码,它比机器码更抽象,需要直译器转译后才能成为机器码的中间代码。
总结:字节码是一种中间状态(中间码)的二进制代码(文件)。需要直译器转译后才能成为机器码。
#is 比较的是内存地址
#== 比较的是值