参考链接: 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基础入门二相关推荐

  1. 转 Python爬虫入门二之爬虫基础了解

    静觅 » Python爬虫入门二之爬虫基础了解 2.浏览网页的过程 在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/ ,我们会看到几张的图片以 ...

  2. Python基础入门笔记(二)

    前言 本文主要为 Python基础入门笔记(一)内容的补充. 一.迭代器和生成器 1.1 Python迭代器 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元 ...

  3. 万字长文爆肝Python基础入门【巨详细,一学就会】

    目录 数据的名字和种类--变量和类型 初探数据种类 数据类型 数值运算 比较运算 变量和赋值 变量的好处 用赋值更新变量 变量和数据类型的关系 总结 数据类型 数值运算 数值比较 变量和赋值 一串数据 ...

  4. python免费入门手册-Python 基础入门教程

    Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年. <Python 基础入 ...

  5. Python基础入门之解释器安装

    Python基础入门之解释器安装 一.Python简介 1.python介绍 2.python特点 3.编程相关概念 4.python的用处 5.pyhton官网 二.python解释器在Window ...

  6. Python基础入门必学内容:判断语句与循环语句

    一.if语句 关键字:if.elif.else,写法如下: # if if 条件: # (条件可以是任意表达式)# 条件成立,执行此处代码,条件不成立,跳过此处代码,继续往下执行其他diamante# ...

  7. Python基础入门6_文件和异常

    Python 基础入门前五篇: Python 基础入门–简介和环境配置 Python基础入门_2基础语法和变量类型 Python基础入门_3条件语句和迭代循环 Python基础入门_4函数 Pytho ...

  8. Python基础入门_5面向对象基础

    Python 基础入门前四篇: Python 基础入门–简介和环境配置 Python基础入门_2基础语法和变量类型 Python基础入门_3条件语句和迭代循环 Python基础入门_4函数 第五篇主要 ...

  9. Python基础入门_3条件语句和迭代循环

    Python 基础入门前两篇: Python 基础入门–简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条件 ...

最新文章

  1. 如何利用离散Hopfield神经网络进行数字识别(2)
  2. Oracle存储过程中异常Exception的捕捉和处理
  3. Windows7 IIS7.5 HTTP Error 503 The service is unavailable 另类解决方案
  4. 今天我不想发文了,对不起各位!
  5. windows下sublime通过sftp扩展上传文件到linux服务器上
  6. webapp构建工具库
  7. 从GitHub存储库下载单个文件夹或目录
  8. 内存模拟块设备驱动程序设计
  9. 广州大喜事婚庆公司报价表
  10. 苹果如何做ASO优化?优化的主要思路有哪些?
  11. python开源oa系统_最全总结 | 聊聊 Python 办公自动化之 Word(下)
  12. cin.tie(0)和ios::sync_with_stdio(false)
  13. 我比较笨,我得一步一步来
  14. Quartz使用详解!
  15. 苏州大学计算机系收分,2016年苏州大学艺术类专业录取分数线
  16. 解题:假如投资的年利率为5%,试求从1000块增长到5000块,需要花费多少年?
  17. 10 Loaders加载模型到Three.js
  18. 错误make:gcc:命令未找到
  19. Android携程高级用法,Android真正仿携程首页view实现
  20. CentOS 6.7 64位系统镜像下载及安装

热门文章

  1. php curl cookie,php中curl获取返回页面的cookie
  2. ros如何编译python文件_Python为ROS编写一个简单的发布者和订阅者
  3. c语言 三个小球排排坐,关颖三个孩子排排坐 太萌啦
  4. java快捷键 --_Java中的快捷方式“或分配”(| =)运算符
  5. 逆向查找_「函数说12」数据逆向查找很复杂?match+index让你轻松搞定
  6. Linux下Java的安装与配置
  7. 【肥朝】看源码,我为什么推荐IDEA?
  8. 生活之难:生活到底难在哪里
  9. 阿里如何实现100%容器化镜像化?八年技术演进之路回顾(转)
  10. 模板模式(部分方法延迟到子类实现)