练习-字符串

 # 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分)
name = " aleX"
# )  移除 name 变量对应的值两边的空格,并输出处理结果
 name='   alex'
a=name.strip()
print(a)
 # )    判断 name 变量对应的值是否以 "al" 开头,并输出结果
 name='11alex'
if name.startswith(name):
print(name)
else:
print('no')
 6 # )    判断 name 变量对应的值是否以 "X" 结尾,并输出结果
 name='11alex'
if name.endswith(name):
print(name)
else:
print('no')
 8 # )    将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
 name='alex'
print(name.replace('a','p'))
 # )    将 name 变量对应的值根据 “l” 分割,并输出结果。
 name='alex'
print(name.rsplit('l'))
 # )    将 name 变量对应的值变大写,并输出结果
 name='alex'
print(name.upper())
 # )    将 name 变量对应的值变小写,并输出结果
 name='aleX'
print(name.lower())
 # )    请输出 name 变量对应的值的第  个字符?
 name=' aleX'
print(name[])
 # )    请输出 name 变量对应的值的前  个字符?
 name='aleX'
print(name[:])
 # )    请输出 name 变量对应的值的后  个字符?
 name='aleX'
print(name[-:])
 # )    请输出 name 变量对应的值中 “e” 所在索引位置?
 name='aleX'
print(name.index('e'))
 # )    获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
 name='aleX'
a=name[:-]
print(a)

练习-列表

 . 有列表data=['alex',,[,,]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量
 data=['alex',,[,,]]
name =data[]
age=data[]
birthday=data[][]
birthday1=data[][]
birthday2=data[][]
obj={
'name':name,
'age':age,
'birthday':birthday,
'birthday1':birthday1,
'birthday2':birthday2
}
print(obj)
 . 用列表模拟队列(先进先出)
 l=[]#这个的意思是先进先出,先是从右边进去,先出的话就是从左边出来
l.append('alex')
l.append('wupeiqi')
l.append('yuanhao')
l.append('xiangyanghua')
print(l)
print(l.pop())#pop本来是从右边先输出,如果加上0就代表是从左边先出
print(l.pop())
print(l.pop())
print(l.pop())
 l=[]#这个是第二种方式
l.insert(,'alex')#这个指的是都是从0这边进去,所以最后就是xiaoming最后进去的,
l.insert(,'wupeqi')
l.insert(,'yuanhao')
l.insert(,'xiaoming')
print(l.pop())
print(l.pop())
print(l.pop())
print(l.pop())
 . 用列表模拟堆栈#先进后出,后进先出
 l=[]
l.insert(,'zhoulian')
l.insert(,'xiaoming')
l.insert(,'qixiang')
print(l.pop())
print(l.pop())
print(l.pop())
l=[]
l.append('zhoulian')
l.append('xiaoming')
l.append('qixiang')
print(l.pop())
print(l.pop())
print(l.pop())
 . 有如下列表,请按照年龄排序(涉及到匿名函数)
l=[
{'name':'alex','age':},
{'name':'oldboy','age':},
{'name':'egon','age':},
]
答案:
l.sort(key=lambda item:item['age'])
print(l)

元组-练习

 #简单购物车,要求如下:
实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入
 
 # msg_dic={
# 'apple':,
# 'tesla':,
# 'mac':,
# 'lenovo':,
# 'chicken':,
# }#让用户不断的买东西,就要有一个循环,客户不可能上来就买,他要看到信息,所以要把信息都打印出来
# goods=[]
# while True:
# for k in msg_dic:
# print(k,msg_dic[k])#到这一步列出用户要买什么了
# choice=input('商品名: ').strip()#让用户输入自己买什么了
# if len(choice) == or choice not in msg_dic:#这个地方判断他有可能输入为空那长度就为0了or用户输入的不在msg_dic下
# print('输入商品名非法')
# continue#从这个地方到上面意思是如果输入的商品不存在,就重新输入
# num=input('购买个数:').strip()
# if not num.isdigit():#如果不是数字
# print('请输入个数非法')
# continue
# goods.append((choice,msg_dic[choice],int(num)))
# print('购物车',goods)

字典-练习

  有如下值集合 [,,,,,,,,,...],将所有大于  的值保存至字典的第一个key中,将小于  的值保存至第二个key的值中

 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
 dic={'k1':[],'k2':[]}
num=[,,,,,,,,]
for i in num:
if i >:
dic['k1'].append(i)
else:
dic['k2'].append(i)
print(dic)
 s='hello alex alex say hello sb sb'
统计s中每个单词的个数
l=s.split()
dic={}
for item in l:
if item in dic:
dic[item]+=
else:
dic[item]=
print(dic)

集合-练习

   一.关系运算
  有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
  pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
  linuxs={'wupeiqi','oldboy','gangdan'}
  . 求出即报名python又报名linux课程的学员名字集合
    print(pythons & linuxs)
  . 求出所有报名的学生名字集合
    print(pythons | linuxs)
  . 求出只报名python课程的学员名字
    print(pythons-linuxs)
  . 求出没有同时这两门课程的学员名字集合
    print(pythons ^linuxs)
去重
二.去重

   . 有列表l=['a','b',,'a','a'],列表元素均为可hash类型,去重,得到新列表,且新列表无需保持列表原来的顺序
 l=['a','b',,'a','a']
print(set(l))
   .在上题的基础上,保存列表原来的顺序
 l=['a','b',,'a','a']
ll=[]
for i in l:
if i not in ll:
ll.append(i)
print(ll)
   .去除文件中重复的行,肯定要保持文件内容的顺序不变
   .有如下列表,列表元素为不可hash类型,去重,得到新列表,且新列表一定要保持列表原来的顺序 l=[
{'name':'egon','age':,'sex':'male'},
{'name':'alex','age':,'sex':'male'},
{'name':'egon','age':,'sex':'female'},
{'name':'egon','age':,'sex':'male'},
{'name':'egon','age':,'sex':'male'},
]  

作业

#作业一: 三级菜单
#要求:
打印省、市、县三级菜单
可返回上一级
可随时退出程序
 menu = {
'北京':{
'海淀':{'五道口':{'soho':{},'网易':{},'google':{}},
'中关村':{'爱奇艺':{},'汽车之家':{},'youku':{},},
'上地':{'百度':{},},
},
'昌平':{'沙河':{'老男孩':{},'北航':{},},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{"人民广场":{'炸鸡店':{}}},
'闸北':{'火车战':{'携程':{}}},
'浦东':{},},
}
tag=True
while tag:
for province in menu:#列出所有的省
print(province)#输出北京和上海
province_in = input('请输出查询的省份(q退出):').strip() # 提示输出一个省份
if province_in in menu:
while tag:
for city in menu[province_in]:
print(city)
city_in =input('请输入城市名(b返回,q退出):').strip()
if len(city_in) ==:
print('输入不能为空')
continue
if city_in in menu[province_in]:
while tag:
for county in menu[province_in][city_in]:
print(county)
county_in=input('请输入县级名(b返回,q退出):')
if county_in in menu[province_in][city_in]:
while tag:
for home in menu[province_in][city_in][county_in]:
print(home)
home_in =input('请输入工作单位(b返回,q退出):')
if home_in in menu[province_in][city_in][county_in].keys():
while tag:
print('到单位的,别转了,再转就晕了')
end_in =input('继续查询请输入(b返回,q退出)')
if end_in =='b':
break
elif end_in =='q':
exit()
else:
print('请重新输入')
elif home_in.strip()=='b':
break
elif home_in.strip()=='q':
exit()
else:
print('请重新输入')
elif county_in.strip()=='b':
break
elif county_in.strip()=='q':
exit()
else:
print('请重新输入')
elif city_in.strip()=='b':
break
elif county_in.strip()=='q':
exit()
else:
print('请重新输入')
elif province_in.strip()=='b':
break
elif province_in.strip()=='q':
print('bey')
exit()
else:
print('请重新输入(q退出)')
continue
 #作业二:请闭眼写出购物车程序
#需求:
用户名和密码存放于文件中,格式为:egon|egon123
启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额
 print('------------欢迎登陆涛涛购物广场-------------')
username=input('请输入用户名:')
pwd=input('请输入密码:')
merchandise_list=[
('iphone',),
('lenovo',),
('oppo',),
('huawei',)
]
shop_lists=[]
for k,v in enumerate(merchandise_list):
print(k,v)
tag=True
while tag:
money =input('请输入你的工资:')
if money.isdigit():
money=int(money)
while tag:
choise =input('请输入商品号,q退出')
if choise.isdigit():
choise=int(choise)
if choise >= and choise<len(merchandise_list):
item=merchandise_list[choise]
if money >=item[]:
shop_lists.append(item)
money-=item[]
print('%s加入购物车,还剩%d元'%(item,money))
else:
print('钱太少')
else:
print('没有这个商品')
elif choise=='q':
print('已退出购物广场')
for i in shop_lists:
print(i)
print('还剩%d元'%money)
break
else:
print('输入有误')
if tag==False:
break
else:
print('输入有误,请重新输入')

python数据类型、字符编码、文件处理-练习的更多相关文章

  1. python第二周数据类型 字符编码 文件处理

    第一数据类型需要学习的几个点: 用途 定义方式 常用操作和内置的方法 该类型总结: 可以存一个值或者多个值 只能存储一个值 可以存储多个值,值都可以是什么类型 有序或者无序 可变或者不可变 二:数字整 ...

  2. Python常见字符编码间的转换

    主要内容:     1.Unicode 和 UTF-8的爱恨纠葛     2.字符在硬盘上的存储     3.编码的转换     4.验证编码是否转换正确     5.Python bytes类型 前 ...

  3. Python基础-字符编码与转码

    ***了解计算机的底层原理*** Python全栈开发之Python基础-字符编码与转码 需知: 1.在python2默认编码是ASCII, python3里默认是utf-8 2.unicode 分为 ...

  4. Python的字符编码

    Python的字符编码 1. Python字符编码简介 1. 1  ASCII Python解释器在加载.py文件的代码时,会对内容进行编码,一般默认为ASCII码.ASCII(American St ...

  5. python 3字符编码

    python 3字符编码 官方链接:http://legacy.python.org/dev/peps/pep-0263/ 在Python2中默认是ascii编码,Python3是utf-8编码 在p ...

  6. Python 的字符编码

    配置: Python 2.7 + Sublime Text 2 + OS X 10.10 本文意在理清各种编码的关系并以此解决 Python 中的编码问题. 1 编码基本概念 只有先了解字符表.编码字 ...

  7. 转:Python常见字符编码及其之间的转换

    参考:Python常见字符编码 + Python常见字符编码间的转换 一.Python常见字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Cod ...

  8. Python常用字符编码(转)

    Python常用字符编码   字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交 ...

  9. Python之字符编码与文件操作

    目录 字符编码 Python2和Python3中字符串类型的差别 文件操作 文件操作的方式 文件内光标的移动 文件修改 字符编码 什么是字符编码? ''' 字符编码就是制定的一个将人类的语言的字符与二 ...

  10. what's the python之字符编码与文件处理

    用文本编辑器打开一个文件就是把一个文件读入了内存中 ,所以打开文件的操作也是在内存中的,断电即消失,所以若要保存其内容就必须点击保存让其存入硬盘中 python解释器执行py文件的原理 : 第一阶段: ...

随机推荐

  1. D - Fliptile

    #include <stdio.h> #include <iostream> #include <math.h> #include <algorithm> ...

  2. SQL COUNT DISTINCT 函数

    定义和用法 可以一同使用 DISTINCT 和 COUNT 关键词,来计算非重复结果的数目. 语法 SELECT COUNT(DISTINCT column(s)) FROM table 例子 注意: ...

  3. nginx和uwsgi的区别和作用

    Django+uwsgi+nginx nginx和uwsgi的区别和作用: 1, nginx是对外的服务器,外部浏览器通过url访问nginx, uwsgi是对内的服务器,主要用来处理动态请求. 2, ...

  4. 24 使用Maven 或 Gradle构建groovy

    1       使用Maven 或 Gradle构建groovy 1.1  使用maven构建groovy pom.xml file. <dependencies>     ... oth ...

  5. python入门之实例-购买商品

    需求: 选择商品,结算所选的商品 #目前总资产 asset_all = 0 #所选商品总价 all_price = 0 #购物车列表,目前已选择商品 #每个元素的结构:"商品名": ...

  6. 530 Minimum Absolute Difference in BST 二叉搜索树的最小绝对差

    给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值.示例 :输入:   1    \     3    /   2输出:1解释:最小绝对差为1,其中 2 和 1 的差的绝对值为 ...

  7. SSAS 维度属性自定义排序

    默认设置: 排序设置:

  8. [github][https模式下提交记住密码]

    git版本 1.7.9以后 1.  开启 git config --global credential.helper cache 2. 设置时间 git config credential.helpe ...

  9. 使用SpringCloud-Netflix

    目录 SpringCloud-Netflix 配置统一依赖管理 创建服务注册中心 创建服务提供者 创建服务消费者 SpringCloud-Netflix Spring Cloud 是一个相对比较新的微 ...

  10. vue使用props动态传值给子组件里的函数用,每次更新,呼叫函数

    父组件 <template> <div id="app"> <div>详情内容</div> <button v-on:clic ...