[转载] python基础入门二
参考链接: Python集合Set
写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分) name = ” aleX” 1)移除 name 变量对应的值两边的空格,并输出处理结果 2) 判断 name 变量对应的值是否以 “al” 开头,并输出结果 3) 判断 name 变量对应的值是否以 “X” 结尾,并输出结果 4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果 5) 将 name 变量对应的值根据 “l” 分割,并输出结果。 6) 将 name 变量对应的值变大写,并输出结果 7) 将 name 变量对应的值变小写,并输出结果 8) 请输出 name 变量对应的值的第 2 个字符? 9) 请输出 name 变量对应的值的前 3 个字符? 10) 请输出 name 变量对应的值的后 2 个字符? 11) 请输出 name 变量对应的值中 “e” 所在索引位置? 12) 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
name = " aleX"
print(name.strip())
print(name.startswith('al'))
print(name.endswith('X'))
print(name.replace('l','p'))
print(name.split('l'))
print(name.upper())
print(name.capitalize())
print(name[1])
print(name[:3])
print(name[3:])
print(name.index('e'))
print(name[:-1])
有列表data=[‘alex’,49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量
data=['alex',49,[1900,3,18]]
name = data[0]
age = data[1]
birth = data[2]
print("名字是{0}年龄是{1}出生年月是{2}".format(name,age,birth))
用列表模拟队列(队列是先进先出,类似于自动扶梯)
dui = [1,2,3,4,5,6]
dui.insert(len(dui),'ll')
print(dui)
dui.pop(0)
print(dui)
用列表模拟堆栈(堆栈先进后出,类似于喝酒喝吐了)
zhan = [1,2,3,4,5,6]
zhan.insert(len(zhan),'ll')
print(zhan)
zhan.pop()
print(zhan)
有如下列表,请按照年龄排序(涉及到匿名函数)
l=[
{'name':'alex','age':84},
{'name':'oldboy','age':73},
{'name':'egon','age':18},
]
l.sort(key=lambda item:item['age'])
print(l)
1 有如下值集合 [11,22,33,44,55,66,77,88,99,90…],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中 即: {‘k1’: 大于66的所有值, ‘k2’: 小于66的所有值}
l = [11,22,33,44,55,66,77,88,99,90,50,40,100]
dic = {'k1':[],'k2':[]}
for num in l:
if num > 66:
dic['k1'].append(num)
else:
dic['k2'].append(num)
print(dic)
2 统计s=’hello alex alex say hello sb sb’中每个单词的个数 结果如:{‘hello’: 2, ‘alex’: 2, ‘say’: 1, ‘sb’: 2} s=’hello alex alex say hello sb sb’ ll = s.split() # 以空格区分 集合去重实现# res = set(ll) # 去重 dic = dic.fromkeys(res) #初始化字典 for k in res: dic[k] = ll.count(k) #填入数据 print(dic) 字典的setdefault方法实现# dic = {} for k in ll: dic.setdefault(k,ll.count(k)) print(dic)
1. 有列表l=[‘a’,’b’,1,’a’,’a’],列表元素均为可hash类型,去重,得到新列表,且新列表无需保持列表原来的顺序
l=['a','b',1,'a','a']
new = set(l)
print(new)
2.在上题的基础上,保存列表原来的顺序
l=['a','b',1,'a','a']
new = set()
res = []
for d in l:
if d not in new:
new.add(d)
res.append(d)
print(res)
3.去除文件中重复的行,肯定要保持文件内容的顺序不变
file = open('C:\Users\liuliangliang\Desktop\UserLoginServiceImplTest.java','r')
file = file.readlines()
s = set()
res = []
for line in file:
if line in file:
print(line)
if line not in s:
s.add(line)
res.append(line)
write = open('C:\Users\liuliangliang\Desktop\UserLoginServiceImplTest','w')
write.writelines(res)
4.有如下列表,列表元素为不可hash类型,去重,得到新列表,且新列表一定要保持列表原来的顺序
l=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'},
]
s = set()
res = []
for i in l:
val = (i['name'],i['age'],i['sex'])
if val not in s:
print(val)
s.add(val)
res.append(i)
print(res)
print(s)
文件a.txt内容:每一行内容分别为商品名字,价钱,个数,求出本次购物花费的总钱数
apple 10 3
tesla 100000 1
mac 3000 2
lenovo 30000 3
chicken 10 3
import os
### 获取当前文件路径
pwd = os.getcwd()
### 得到存储用户信息的文件路径
filedir = pwd + '\qingdan'
### 判断信息文件是否存在,存在即取出并转换成字典类型数据,否则提示文件不存在退出
if os.path.exists(filedir):
wp = open(filedir, 'r',encoding='utf-8')
sett = wp.readlines()
print(sett)
wp.close()
else:
print("文件不存在!")
exit()
last = 0
for i in sett:
res = i.split()
count = int(res[1])*int(res[2])
last = last + count
print(last)
需求:
用户名和密码存放于文件中,格式为:egon|egon123 启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额
import json
import os
# 获取当前文件路径
pwd = os.getcwd()
# 得到存储用户信息的文件路径
filedir = pwd + '\dic'
listdir =pwd + '\list'
# 判断信息文件是否存在,存在即取出并转换成字典类型数据,否则提示文件不存在退出
if os.path.exists(filedir) and os.path.exists(listdir):
wp = open(filedir, 'r')
sett = wp.read()
dic_user = json.loads(sett)
wp.close()
sp = open(listdir,'r')
shop = sp.read()
dic_product = json.loads(shop)
sp.close()
else:
print("文件不存在!")
exit()
Tag = True
while Tag:
name = input("请输入用户名:")
# 判断用户名是否存在于文件中
if name not in dic_user.keys():
print("用户不存在!")
continue
passwd = input("请输入用户密码:")
# 判断用户名密码是否正确
if name in dic_user.keys() and passwd == dic_user.get(name).get('passwd'):
list_info = [{"username": name}]
cmd = input("输入你的工资")
last = int(cmd)
while Tag:
print(dic_product)
# cap,num = input("___输入您想要购买的物品编号和个数以空格分开:如'001 2'").split()
cap = input("输入您所购买的物品编码:").strip()
if cap not in dic_product :
print("请输入正确的物品编码")
continue
num = input("输入您所购买物品的数量:").strip()
if cap not in dic_product or not num.isdigit():
print("请输入正确的物品编码或购买数!")
continue
account = int(dic_product[cap][1]) * int(num)
if account <= last:
last = last - account
list_info.append({"product":dic_product[cap],"num":num})
quit = input("购买成功,退出输入q,继续输入y")
if quit == 'q':
Tag = False
continue
else:
continue
else:
addin = input("余额不足!充值输入y,退出输入q")
if addin == 'y':
add = input("输入充值金额:").strip()
last = int(last) + int(add)
print("余额为%d" %last)
if addin == 'q':
Tag =False
continue
list_info.append({"last_money": last})
for i in list_info:
print(i)
continue
else:
if name in dic_user.keys():
print("用户名存在,密码错误")
dic_user[name]['count'] += 1
if dic_user[name]['count'] == 3:
print("输入错误三次,退出程序")
Tag = False
input(" ")
要求:
打印省、市、县三级菜单 可返回上一级 可随时退出程序
import json
import os
# 获取当前文件路径
pwd = os.getcwd()
# 得到存储用户信息的文件路径
filedir = pwd + '\www'
# 判断信息文件是否存在,存在即取出并转换成字典类型数据,否则提示文件不存在退出
if os.path.exists(filedir):
wp = open(filedir, 'r',encoding='utf-8')
sett = wp.read()
data = json.loads(sett)
wp.close()
else:
print("文件不存在!")
exit()
# 定义一个字典类型,存放修改后的字典
diction = data
# 定义一个列表类型,存放修改后的字典
listion = [data]
while True:
# 当字典为空时,提示没有下级,显示上一层内容
if diction == {}:
print("没有下级了!")
diction = listion[-1]
listion.pop()
for key in diction:
print(key,end=' |')
agent = input("\n输入上述名称查询,输入r返回上一层,输入q退出:")
# 如果输入信息存在当前字典中,将当前的字典追加进入列表,将当前字典转换成下级字典
if agent in diction:
listion.append(diction)
diction = diction[agent]
# 如果输入信息是r, 判断列表为空时提示没有上一级,不为空返回上一级,当前字典转换成上一级字典
elif agent == 'r':
if len(listion) == 0:
print("没有上一级了!")
else:
diction = listion[-1]
listion.pop()
# 如果输入信息是q,退出程序
elif agent == 'q':
break
else:
print("输入有误,重新输入")
[转载] python基础入门二相关推荐
- 转 Python爬虫入门二之爬虫基础了解
静觅 » Python爬虫入门二之爬虫基础了解 2.浏览网页的过程 在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/ ,我们会看到几张的图片以 ...
- Python基础入门笔记(二)
前言 本文主要为 Python基础入门笔记(一)内容的补充. 一.迭代器和生成器 1.1 Python迭代器 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元 ...
- 万字长文爆肝Python基础入门【巨详细,一学就会】
目录 数据的名字和种类--变量和类型 初探数据种类 数据类型 数值运算 比较运算 变量和赋值 变量的好处 用赋值更新变量 变量和数据类型的关系 总结 数据类型 数值运算 数值比较 变量和赋值 一串数据 ...
- python免费入门手册-Python 基础入门教程
Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年. <Python 基础入 ...
- Python基础入门之解释器安装
Python基础入门之解释器安装 一.Python简介 1.python介绍 2.python特点 3.编程相关概念 4.python的用处 5.pyhton官网 二.python解释器在Window ...
- Python基础入门必学内容:判断语句与循环语句
一.if语句 关键字:if.elif.else,写法如下: # if if 条件: # (条件可以是任意表达式)# 条件成立,执行此处代码,条件不成立,跳过此处代码,继续往下执行其他diamante# ...
- Python基础入门6_文件和异常
Python 基础入门前五篇: Python 基础入门–简介和环境配置 Python基础入门_2基础语法和变量类型 Python基础入门_3条件语句和迭代循环 Python基础入门_4函数 Pytho ...
- Python基础入门_5面向对象基础
Python 基础入门前四篇: Python 基础入门–简介和环境配置 Python基础入门_2基础语法和变量类型 Python基础入门_3条件语句和迭代循环 Python基础入门_4函数 第五篇主要 ...
- Python基础入门_3条件语句和迭代循环
Python 基础入门前两篇: Python 基础入门–简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条件 ...
最新文章
- 如何利用离散Hopfield神经网络进行数字识别(2)
- Oracle存储过程中异常Exception的捕捉和处理
- Windows7 IIS7.5 HTTP Error 503 The service is unavailable 另类解决方案
- 今天我不想发文了,对不起各位!
- windows下sublime通过sftp扩展上传文件到linux服务器上
- webapp构建工具库
- 从GitHub存储库下载单个文件夹或目录
- 内存模拟块设备驱动程序设计
- 广州大喜事婚庆公司报价表
- 苹果如何做ASO优化?优化的主要思路有哪些?
- python开源oa系统_最全总结 | 聊聊 Python 办公自动化之 Word(下)
- cin.tie(0)和ios::sync_with_stdio(false)
- 我比较笨,我得一步一步来
- Quartz使用详解!
- 苏州大学计算机系收分,2016年苏州大学艺术类专业录取分数线
- 解题:假如投资的年利率为5%,试求从1000块增长到5000块,需要花费多少年?
- 10 Loaders加载模型到Three.js
- 错误make:gcc:命令未找到
- Android携程高级用法,Android真正仿携程首页view实现
- CentOS 6.7 64位系统镜像下载及安装
热门文章
- php curl cookie,php中curl获取返回页面的cookie
- ros如何编译python文件_Python为ROS编写一个简单的发布者和订阅者
- c语言 三个小球排排坐,关颖三个孩子排排坐 太萌啦
- java快捷键 --_Java中的快捷方式“或分配”(| =)运算符
- 逆向查找_「函数说12」数据逆向查找很复杂?match+index让你轻松搞定
- Linux下Java的安装与配置
- 【肥朝】看源码,我为什么推荐IDEA?
- 生活之难:生活到底难在哪里
- 阿里如何实现100%容器化镜像化?八年技术演进之路回顾(转)
- 模板模式(部分方法延迟到子类实现)