第二天
- 循环语句
- 字符串的格式化
- 运算符
- 编码
- 博客&Git
补充
- 字符串
- ”hello“
- 字符
- ‘E’,‘号’
- 字节
- ascii:1字节
- unicode:4字节(主要用于内存中的数据计算,要求数据长度相同)
- utf-8:中文>3字节/英文>1字节(主要用于存储和数据传输)
- 位
- 01010001> 8位
5.练习
# 评分规则:成绩 >= 90,A;成绩 >= 80,B;成绩 >= 70,C;其余,D.
score = input('请输入你的成绩:')
score_int = int(score)
if score_int >= 90:
print('A')
elif score_int >= 80:
print('B')
elif score_int >= 70:
print('C')
else:
print('D')
- PEB-8规范
- 10086服务器模拟
message = '''
欢迎致电10086
1.服务1
2.服务2
3.服务3'''
print(message)
index = input('选择服务:')
index = int(index)
if index == 1:
print('服务1')
elif index == 2:
content = '''
选择业务
1.业务1
2.业务2'''
value = input('选择业务:')
value = int(value)
if value == 1:
print('业务1')
elif value == 2:
print('业务2')
else:
print('输入错误')
elif index == 3:
print('服务3')
else:
print('输入错误')
循环语句
- 练习
# 循环打印"人生苦短,我用python"
while True:
print('人生苦短,我用python')
# 无限循环
# 标准格式
count = 1
while count <= 3:
print(count)
count += 1
- 练习
# 不打印7
i = 1
while i <= 10:
if i != 7:
print(i)
i += 1
# 另一种写法,使用pass
i = 1
while i <= 10:
if i == 7:
pass
else:
print(i)
i += 1
- Ctrl+ / 单行或者多行注释
- pass 关键字:无实际执行内容
- 循环嵌套
while True:
print('你好')
whlie True:
print(666)
break
break
#你好
#666
- continue 关键字
- 本次循环遇到continue,返回循环判断
# 使用continue
i = 1
while i <= 10:
if i == 7:
i += 1
continue
print(i)
i += 1
- while else结构
- 循环条件失败后,else内容触发
while 条件:
代码
else:
代码
字符串格式化
- 换行符
- ctrl + D 快速向下复制
- 展位符
- %s字符串
'%s在教室,%s.' %(变量1,变量2,)
- 特殊%%
name = 'alex'
template = '%s现在手机的电量是100%%' % (name,)
print(template)
不需要格式化的百分号前需要加一个%
- 练习
name = 'Alex'
age = 18
job = 'teacher'
hobbies = 'basketball'
msg = '''
————————info of Alex————————
Name:%s
Age:%d
Job:%s
Hobbies:%s
—————————————end————————————'''
print(msg % (name, age, job, hobbies,))
运算符
以下假设变量:a=10,b=20
运算符 | 描述 |
---|---|
-± | -加–>两个对象相加- |
- | 减–>前面一个数减后面一个数 |
* | 乘–>两个数相乘 |
/ | 除–>前面一个数除以后面一个数 |
% | 取模–>返回除法的余数 |
** | 幂 -->返回x的次幂 |
// | 整除–>返回商的整数部分 |
- 练习
# 打印1-100之间的奇数
count = 1
while count <= 100:
val = count % 2
if val == 1:
print(count)
count = count + 1
# 求1-100的和
count = 1
total = 0
while count <= 100:
total = total + count
count = count + 1
print(total)
# 求1-2+3-4...的和
count = 1
total = 0
val = 0
while count <= 100:
val = count % 2
if val == 0:
total = total - count
else:
total = total + count
count = count + 1
print(total)
- 比较运算符
运算符 | 描述 |
---|---|
== | 等于–>比较对象是否相等 |
!= | 不等于–>比较对象是否不相等 |
> | 大于–>比较前者是否大于后者 |
< | 小于–>比较前者是否小于后者 |
>= | 大于等于–>比较前者是否大于等于后者 |
<= | 小于等于–>比较前者是否小于等于后者 |
- 赋值运算符
运算符 | 实例 |
---|---|
= | a=b–>将a的值复制给b |
+= | c+=a–>c=c+a |
-= | c-=a–>c=c-a |
*= | c*=a–>c=c*a |
/= | c/=a–>c=c/a |
%= | c%=a–>c=c%a |
**= | c**=a–>c=**a |
//= | c//a=a–>c=c//a |
- 逻辑运算
运算符 | 描述 |
---|---|
and | 布尔与 |
or | 布尔或 |
not | 布尔非 |
- 优先级
- ()>not>and>or
- 数据类型转换
# 类型转换
v1 = 0
v2 = bool(v1)
print(v2) # False
v1 = '' # 空字符串
v2 = bool(v1)
print(v2) # False
# 其他均为True
- 特殊
# 对于or,如果第一个值为真,则value=第一个值,否则value=第二个值
value = 1 or 9
print(value) # 1
value = 0 or 9
print(value) # 9
value = 0 or ''
print(value) # ''
# 如果有多个or条件,则从左到右依次进行上述流程
value = 0 or 9 or 8
print(value) # 9
# 对于and,如果第一个值为假,则value=第一个值,否则value=第二个值
value = 0 and 9
print(value) # 0
value = 1 and 9
print(value) # 1
# 如果有多个and条件,则从左到右依次进行上述流程
value = 1 and 0 and 8
print(value) # 0
# 综合,and>or
value = 1 and 9 or 0 and 8
print(value) # 9
编码补充
-
ascii
-
unicode
- ecs2(历史问题)
- ecs4(正在使用)
-
utf-8(3个字节表示中文)(通用)
-
utf-16
-
gbk(亚洲,全包含中文)(2个字节表示中文)
-
gb2312(亚洲,全包含中文)
-
单位
-
8bit = 1byte
-
1024byte = 1KB
-
1024KB = 1MB
-
1024MB = 1GB
-
1024GB = 1TB
-
1024TB = 1PB
-
1024PB = 1EB
-
1024EB = 1ZB
-
1024ZB = 1YB
-
1024YB = 1NB
-
1024NB = 1DB
版本管理工具(Git)
-
安装Git软件(下一步直到完成)
-
上传代码
- git add .
- git commit -m ‘‘上传原因’’
- git push origin master
作业
- 猜数字,设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确,然后退出循环。
while True:
value = input('请输入你猜的数字:')
value = int(value)
if value > 66:
print('你猜大了')
elif value < 66:
print('你猜小了')
else:
print('你猜对了')
break
- 在上一题的基础,设置:给用户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果三次之内没有猜测正确,则自动退出循环,并显示‘大笨蛋’。
count = 1
while count <= 3:
value = input('请输入你猜的数字:')
value = int(value)
if value > 66:
print('你猜大了')
elif value < 66:
print('你猜小了')
else:
print('你猜对了')
break
count += 1
else:
print('大笨蛋')
- 使用两种方法实现输出1 2 3 4 5 6 7 8 9 10
# 方法1
count = 1
while count <= 10:
if count != 7:
print(count)
count += 1
# 方法2
count = 1
while count <= 10:
if count == 7:
pass
else:
print(count)
count += 1
# 方法3
count = 1
while count <= 10:
if count == 7:
count += 1
continue
print(count)
count += 1
- 求1-100所有数的和
count = 1
total = 0
while count <= 100:
total = total + count
count += 1
print(total)
- 输出1-100所有奇数
count = 1
total = 0
while count <= 100:
if count % 2 == 1:
total = total + count
count += 1
print(total)
- 输出1-100内所有偶数
count = 1
while count <= 100:
if count % 2 == 0:
print(count)
count += 1
- 求1-2+3-4+5 … 99的所有数的和
count = 1
total = 0
while count <= 100:
if count % 2 == 1:
total = total + count
else:
total = total - count
count += 1
- ⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
# 方法1
count = 1
while count <= 3:
user_name = input('请输入用户名:')
pass_word = input('请输入密码:')
if user_name == 'old_boy' and pass_word == 'alex':
print('登录成功')
break
else:
print('登录失败')
rest = 3 - count
count += 1
print('剩余%d次' % (rest,))
# 方法2
count = 2
while count >= 0:
user_name = input('请输入用户名:')
pass_word = input('请输入密码:')
if user_name == 'old_boy' and pass_word == 'alex':
print('登录成功')
break
print('登录失败')
print('剩余%d次' % (count,))
count -= 1
else:
print('三次机会用完')
- 简述ASCII、Unicode、utf-8编码