1 格式化输出
- % 在字符串里的占位符;
- %s:字符串占位符
- %d:数字占位符;
- %%:格式化输出中表示单纯的%
- %(param1, param2, param3) 按顺序替换字符串中的占位符;
templateMsg = '''
Name : %s
Age : %d
job : %s
Hobbie :%s
study plan: 3%%
'''
name = input('请输入姓名:')
age = input('请输入年龄:')
job = input('请输入职业:')
hobbie = input('请输入爱好:')
msg = templateMsg %(name, int(age), job, hobbie)
print(msg)
'''输出结果如下:
请输入姓名:程帅
请输入年龄:22
请输入职业:程序员
请输入爱好:打篮球
Name : 程帅
Age : 22
job : 程序员
Hobbie :打篮球
study plan: 3%
'''
2 while else搭配
-
当while循环被打断时,else就不会执行;
-
当while正常结束的时候,else就会正常执行;
-
示例:
- while正常结束:
count = 0 while count <= 5: count += 1 if count == 3: pass; print("Loop", count) else: print('循环正常执行完成') print("-------out of while loop--------------") '''输出结果如下: Loop 1 Loop 2 Loop 3 Loop 4 Loop 5 Loop 6 循环正常执行完成 -------out of while loop-------------- Process finished with exit code 0 '''
- while被break打断:
count = 0
while count <= 5:
count += 1
if count == 3: break;
print("Loop", count)
else:
print('循环正常执行完成')
print("-------out of while loop--------------")
'''输出结果如下:
Loop 1
Loop 2
-------out of while loop--------------
Process finished with exit code 0
'''
- 综合示例:
'''
1. 正确输入用户名和密码,打印“登录成功!”
2. 用户名和密码输错,打印“登录失败,请重新登录!”
3. 用户名和密码输错三次,提示用户:“密码错误次数3次,输入yes重试:”
3.1 输入yes:提示“要不要脸啦!”
3.2 程序结束
'''
i = 0
while i < 3:
username = input("请输入账号:")
password = input("请输入密码:")
if username == 'root' and password == '123456':
i = 3
print('登录成功!')
continue
else:
print('登录失败,请重新登录!')
if 2 - i <= 0:
open = input('密码错误次数3次,输入yes重试:')
if open != 'yes':
break
i += 1
else:
print('要不要脸啦!')
3 编码
-
编码的作用:为了通讯双方能看懂PC的二进制的统一规则,类似发电报双发的密码本;
-
ascii码:包含英文字母,数字,特殊字符与01010101对应关系
-
历史:
- 美国标准信息交换代码是由美国国家标准学会(American National Standard Institute , ANSI )制定的,标准的单字节字符编码方案,用于基于文本的数据。起始于50年代后期,在1967年定案。它最初是美国国家标准,供不同计算机在相互通信时用作共同遵守的西文字符编码标准,它已被国际标准化组织(International Organization for Standardization, ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母。
-
8位 = 1字节bytes
-
-
英文字母大小写、特殊字符和数字总共也就100多个,一个字节足以描述;
-
遇到中文9万多汉字就没法满足,2个字节也就6万多个数字也无法满足;
-
unicode:为了解决全球化的文字问题,创建了一个万国码unicode
- 16表示一个字符不行,32位表示一个字符。
- 一个字节表示所有的英文
- 四个字节表示一个中文
- 示例
A 01000001010000010100000101000001 B 01000010010000100100001001000010 我 01000010010000100100001001000010
-
utf-8:unicode升级版,用三个字节表示中文;
- 解决占位浪费的问题
- 三个字节有1600万,足以满足各国语言的字
-
gbk:
- 国内使用;
- 一个中文字用2个字节来表示;
- 因为汉字有9万多个,所以无法包含所有的汉字;
- 单位换算:
8bit = 1byte
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024PB = 1EB
1024EB = 1ZB
1024ZB = 1YB
1024YB = 1NB
1024NB = 1DB
常⽤到TB就够了
4 运算符
-
计算机运算分类:
- 算数运算
- 比较运算
- 逻辑运算
- 赋值运算
- 成员运算
- 身份运算
- 位运算
-
算数运算:
- 示例
>>> 5/2 2.5 >>> 5//2 2 >>> 5.0//2.0 2.0
- 汇总:

-
赋值变量:
- 示例:
无
-
汇总:
988316-20170918164210728-1331769834.png
-
逻辑运算:
- 示例
# x or y ,如果 x 为非零,则返回 x # 如果 x 为零, 则返回 y print(1 or 2) print(2 or 1) print(0 or 3) '''输出结果如下: 1 2 3 ''' # x and y , 如果 x 为非零,则返回y # 如果x 为零, 则返回x print(1 and 2) print(2 and 1) print(0 and 3) '''输出结果如下: 2 1 0 ''' # 从左往有逐个运算,如下: # 2 or 100 返回 2 # 2 or 3 返回 2 # 2 or 4 返回 2 # 最终返回 2 print(2 or 100 or 3 or 4) #同理0 or 100 返回 100 #100 or 3 返回 100 #100 or 4 返回 100 #最终返回 100 print(0 or 100 or 3 or 4) # 同理先算优先级高的: # 1 > 2 返回 Flase # 3 < 2 返回 Flase # 演变成 Flase and 3 or 4 and Flase # 再算优先级高的 and # Flase and 3 返回 Flase # 4 and Flase 返回 Flase # 演变成 Flase or Flase # 最终 返回 Flase print(1 >2 and 3 or 4 and 3 < 2) # 同理先算优先级高的 1<3 返回True # 演变成 2 or True and 3 # 再算优先级高的 True and 3 返回 3 # 演变成 2 or 3 返回 2 # 最终返回 2 print(2 or 1 < 3 and 3)
- 汇总:

-
成员运算
-
汇总
988316-20181019153207737-1857017047.png
-
示例:
#print('喜欢' in 'dkfljadklf喜欢hfjdkas') #print('a' in 'bcvd') #print('y' not in 'ofkjdslaf')
-
- 运算符的优先级:

网友评论