[TOC]
>[success] # 基础案例一
~~~
1、使用while循环输入 1 2 3 4 5 6 8 9 10
2、求1-100的所有数的和
3、输出 1-100 内的所有奇数
4、输出 1-100 内的所有偶数
5、求1-2+3-4+5 ... 99的所有数的和
6、用户登陆(三次机会重试)
7、计算 1 - 2 + 3 ... -99 中除了88意外所有数的总和
8、⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
9、开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:
敏感词列表 li = ["苍老师","东京热",”武藤兰”,”波多野结衣”]
则将用户输入的内容中的敏感词汇替换成***,并添加到一个列表中;
如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。
~~~
>[danger] ##### while 循环输出 1-10
~~~python
count = 0
while count<10:
count += 1
print(count)
~~~
>[danger] ##### 1-100的和
~~~
1.要有两个变量一个是1-100的计数
2.一个是sum 总和统计
~~~
~~~
count = 0
sum = 0
while count<100:
count += 1
sum += count
print(sum)
打印结果:
5050
~~~
* 方法二
~~~
sum(range(1, 101))
~~~
>[danger] ##### 1-100 的奇数打印
~~~
count = 0
while count < 100:
count += 1
# 偶数的余数是0,0代表Flase
if count % 2:
print(count)
~~~
>[danger] ##### 1-100 的偶数打印
~~~
count = 0
while count < 100:
count += 1
# 偶数的余数是0,0代表Flase
if !count % 2:
print(count)
~~~
>[danger] ##### 求1-2+3-4+5 ... 99的所有数的和
~~~
count = 0
sum = 0
while count < 99:
count += 1
if count % 2:
sum += count
else:
sum -= count
print(sum)
打印结果:
50
~~~
>[danger] ##### 用户登陆(三次机会重试)
~~~
# 1.用户输入 2.次数限制
count = 0
while count < 3:
userName = input("输入用户名")
if userName == "wang":
print("用户名密码正确")
else:
print("用户名密码错误")
count += 1
~~~
>[danger] ##### 计算 1 - 2 + 3 ... -99 中除了88意外所有数的总和
~~~
1.contunue 的时候要注意循环的计数器更改
2.另外一种思路改变正负奇偶,来实现案例
~~~
~~~
sum = 0
i = 1
while i < 100:
if i == 88:
i += 1
continue
elif i%2:
sum += i
else:
sum -= i
i += 1
print(sum)
打印结果:
138
~~~
~~~
i = 0
j = -1
sum = 0
while i < 99:
i = i + 1
if i == 88:
continue
else:
j = -j
sum = sum + i * j
print(sum)
打印结果:
138
~~~
>[danger] ##### ⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
~~~
username = "wang"
pwd = "123"
count = 3
while count > 0:
input_username = input("请输入用户名")
if username == input_username:
input_pwd = input("请输入密码")
if input_pwd == pwd:
msg = "用户名%是,密码%" % (input_username, input_pwd)
break
count -= 1
else:
count -= 1
if count == 0:
print("你机会用完了")
else:
print("你还剩%s机会" % (count))
打印结果:
请输入用户名wang
请输入密码w
你还剩2机会
请输入用户名w
你还剩1机会
请输入用户名w
你机会用完了
~~~
>[danger] ##### 敏感词汇
~~~
1.将敏感词汇循环出来,跟输入词汇进行对比
2.根据长度来生成对应的* 号
~~~
~~~
li=["苍老师","东京热","武藤兰","波多野结衣"]
new_li = []
info = input('评论') # 苍老师,东京热 法律框架第三
for i in li:
if i in info:
l = len(i)
info = info.replace(i,"*"*l)
new_li.append(info)
print(new_li)
打印结果:
['***,*** 法律框架第三']
~~~
>[danger] ##### 打印列表中奇/偶数位
* 用切片
~~~
lis = [11,22,33,44,55,99]
# 打印角标偶数
print(lis[::2])
# 打印角标奇数
print(lis[::-2])
打印结果:
[11, 33, 55]
[99, 44, 22]
~~~
* 用循环元素,获取角标判断的方法
~~~
lis = [11,22,33,44,55,99]
li1 = []
li2 = []
# 利用index 获取元素角标判断偶数
for i in lis:
if lis.index(i) % 2 == 0:
li1.append(i)
# 利用index 获取元素角标判断奇数
for i in lis:
if lis.index(i) % 2 != 0:
li2.append(i)
print(li1)
print(li2)
打印结果:
[11, 33, 55]
[99, 44, 22]
~~~
* 利用range 和del 配合的方法
~~~
lis = [11,22,33,44,55,99]
# 打印奇数位 虽然del 会破坏 数组的内容产生新的数组,容易生成越界的bug,
# 但是可以用倒序,后面删除,前面顺序不影响的方法
for i in range(len(lis)-1,-1,-1):
if i % 2 == 1:
del lis[i]
print(lis)
打印结果:
[11, 33, 55]
~~~
- PYTHON-- 基础
- Python -- 变量、常量、注解
- 算数\比较\赋值\逻辑运算符
- Python -- input 控制台用户输入
- Python -- 流程控制/循环语句
- Python -- 切片
- Python -- 数据类型
- 基础数据类型
- int -- 数字类型
- str -- 字符类型
- bool -- 布尔类型
- list -- 列表
- type -- 元祖
- dict -- 字典
- set -- 集合
- Python -- 深浅copy
- Python -- 文件的读写
- Python -- 函数
- 函数 -- 做参数使用
- 函数 -- 闭包
- 函数 -- 生成器
- 函数 -- 列表推导式
- 案例
- 基础案例一
- 基础案例二
- 基础案例三
- COOKBOOK
- LIST、STR、DICT、TUPLE
- LIST - 列表方法总结
- 一、序列拆分成单独变量
- 二、* 妙用
- 三、deque- 双向队列
- 四、求找到最大或最小的N个元素
- 4.1 heapq-- 简单使用
- 五、去重并保持列表顺序不变
- 六、切片slice
- 七、counter 统计序列中元素次数
- 八、itemgetter 列表套着字典排序
- 九、处理大量的列表数据
- 十、随机事件处理列表
- DICT - 字典的总结方法
- 一、defaultdict 解决 KeyError
- 二、OrdereDict有序字典
- 三、zip 和 max/min 比较
- IDCT和LIST- 推导式
- 一、LIST 推导式
- 二、字典推到式
- TUPLE-元组
- 一、命名元组
- STR-字符串
- 一、常见的字符串方法
- 二、字符串拆分
- 三、字符串的位置匹配
- 四、字符串替换
- 五、正则大小写/换行匹配
- 六、对字节类型处理
- 数字、日期、时间处理
- 一、数字的处理
- 二、时间换算
- 2.1 时间运算
- 2.2计算某一时刻上周几的日期
- 2.2对时间转换格式优化
- 迭代器和生成器
- 一、iter 迭代器 使用案例
- 二、生成器 yeild
- 三、构建一个反向迭代方法
- 四、实现反正函数构造
- 五、迭代对象切片/跳过元素
- 六、迭代出所有的组合排列
- 七、索引-值迭代序列化
- 八、zip 同时迭代多个序列
- 九、同时循环多个可迭代对象
- 十、yield from 递归案例
- 十一、合并序列,并按顺序输出
- 十二、使用 iter 替代 while True
- 操作文件
- 一、处理文件路径
- 二、检测文件/获取文件信息
- 函数
- 一、函数基本案例使用
- 二、匿名函数
- 三、回调函数
- 四、闭包实现一个单个方法类
- 五、函数嵌套回调函数
- 类与对象
- 一、str/repr--让类字符串表示
- 二、format -- 格式化类的内容
- 三、with -- 上下文管理类
- 四、创建节省内存的类
- 五、将类里面方法变成属性
- 六、调用父类方法
- 七、扩展子类中的属性
- 八、创建新的类或者实类属性
- 九、简化数据结果,简化init
- 十、python 接口写法
- 十一、通过类属性创建委托访问
- 十二、__new__重新初始化init
- 十三、通过字符串调用类
- 元编程
- 一、装饰器
- 1.1 去掉装饰器修饰
- 1.2 可接受参数装饰器
- 1.3利用装饰器对函数参数类型检查
- 1.4编写类装饰器
- 1.5为类方法和静态方法加装饰器
- 1.6通过装饰器给装饰函数加参数
- 线程和进程