[TOC]
>[success] # 基础案例二
~~~
1.使用while和for循环分别打印字符串s=’asdfer’中每个元素。
2.如:content = input(‘请输入内容:’) # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
3.任意输入一串文字+数字 统计出来数字的个数
4.列表选择对应的商品
~~~
>[danger] ##### 第一题
~~~python
s = 'asdfer'
s_len = len(s)
index = 0
# 固定量和变量进行判断条件
while s_len > index:
print(s[index])
index += 1
~~~
>[danger] ##### 第二题
~~~
content = input('请输入内容:').strip()
# 分割后数字带空格也可以转换成数字
con = content.split('+')
sum = 0
for num in con:
sum += int(num)
print(sum)
# 第二种思路利用find 去做切片
content = input('请输入内容:').strip()
index = content.find('+')
a = int(content[0:index])
b = int(content[index+1:])
print(a+b)
~~~
>[danger] ##### 第三题
~~~
# 计数的时候要有计数器
countNum = input("请输入要统计的数字符串")
count = 0
for i in countNum:
if i.isdigit():
count += 1
print(count)
~~~
>[danger] ##### 第四题
~~~
4.查找列表li中的元素,移除每个元素的空格,
并找出以’A’或者’a’开头,并以’c’结尾的所有元素,
并添加到一个新列表中,最后循环打印这个新列表。
li = [‘taibai ’,’alexC’,’AbC ’,’egon’,’ Ritian’,’ Wusir’,’ aqc’]
思路:第一种思路按照规定条件去实现,第二种A,a的开头都能同时转换成大写或者小写进行判断
~~~
~~~
li = ['taibai ', 'alexC', 'AbC ', 'egon', ' Ritian', ' Wusir', ' aqc']
b = []
for i in li:
i = i.strip()
if (i.startswith('A') or i.startswith('a')) and i.endswith('c'):
b.append(i)
for i in b:
print(i)
------------------------------------------------ 第二种---------------------------------------
for i in li:
s=i.strip()
if s[0].upper() == 'A' and s[-1] == 'c':
b.append(s)
for x in b:
print(x)
~~~
>[danger] ##### 第五题
~~~
5、输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ["手机", "电脑", '鼠标垫', '游艇']
要求:1:页面显示 序号 + 商品名称,如:
1 手机
2 电脑
…
2: 用户输入选择的商品序号,然后打印商品名称
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4:用户输入Q或者q,退出程序。
~~~
~~~
li = ["手机", "电脑", "鼠标垫", "游艇"]
for k,v in enumerate(li,1):
print(k,v)
while 1:
choice_num = input("请选着商品")
if choice_num.isdigit() and 0 < int(choice_num) < len(li):
print(li[int(choice_num)-1])
elif choice_num.upper() == 'Q':
break
else:
print("重新输入")
~~~
>[danger] ##### 字典案例题
~~~
# 去除字典中含有k的键
dic = {'k1':'v1','k2':'v2','a3':'v3'}
dic1 = {}
for i in dic:
if "k" not in i:
dic1.setdefault(i,dic[i])
print(dic1)
l = []
for i in dic:
if 'k' in i:
l.append(i)
for i in l:
del dic[i]
print(dic)
打印结果:
{'a3': 'v3'}
{'a3': 'v3'}
~~~
- 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通过装饰器给装饰函数加参数
- 线程和进程