[转载] 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("输入有误,重新输入")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540584.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

组合数据类型练习,英文词频统计实例上

1、字典实例&#xff1a;建立学生学号成绩字典&#xff0c;做增删改查遍历操作。 建立&#xff1a; d{0001:99,0003:89,0004:98,0005:100,0006:78} 增&#xff1a;d[0002]79 删&#xff1a;d.pop(0001) 改&#xff1a;d[0004]100 查&#xff1a;print(d[0002]) 遍历操作&#x…

茱莉亚分形_茱莉亚的NaN Constant

茱莉亚分形Julia| NaN / Nan64常数 (Julia | NaN/Nan64 Constant) Nan / Nan64 is a constant of the Float64 type in Julia programming language, it represents "not-a-number" value. Nan / Nan64是Julia编程语言中Float64类型的常量&#xff0c;它表示“非数字…

[转载] Python3 数组

参考链接&#xff1a; Python中的Array | 数组1(简介和功能) 一、list和array的区别 Python的数组通过Numpy包的array实现。 Python里二者最大的区别是&#xff0c;list可以存储不同类型的数据&#xff0c;而array只能存储相同类型的数据。 import numpy #直接定义 a […

201671010128 2017-09-24《Java程序设计》之继承

1.继承的概念及理解&#xff1a; 继承是java面向对象编程技术的一块基石&#xff0c;因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为&#xff0c;使得子类对象&#xff08;实例&#xff09;具有父类的实例域和方法&#xff0c;或子类从父类继承方法&#xff…

紫外线的形式是什么?

紫外线&#xff1a;紫外线 (UV: Ultraviolet) UV is an abbreviation of Ultraviolet. In RO water purifiers, the bacteria or germs which are present in the water cannot get killed by reverse osmosis process but this process can banish the dissolved solids and i…

[js高手之路] html5 canvas系列教程 - 掌握画直线图形的常用API

我们接着上文[js高手之路] html5 canvas系列教程 - 认识canvas以及基本使用方法继续. 一、直线的绘制 cxt.moveTo( x1, y1 )&#xff1a; 将画笔移动到x1, y1这个点 cxt.lineTo( x2, y2 )&#xff1a;将画笔从起点开始画直线&#xff0c;一直画到终点坐标( x2, y2 ) cxt.stroke…

金矿问题

Description: 描述&#xff1a; This is a standard interview problem featured in interview coding rounds of Amazon, Flipkart. 这是亚马逊Flipkart的采访编码回合中的标准采访问题。 Problem statement: 问题陈述&#xff1a; Given a gold mine of n*m dimensions, e…

[转载] python中的数组类型及特点

参考链接&#xff1a; Python中的Array | 数组2(简介和功能) 名称 表示方法示例 是否有序 函数方法&#xff08;增删等&#xff09; 特点 List 类型表示&#xff1a;L L [Adam, 95.5, Lisa, 85] 有序 增加&#xff1a;&#xff08;1&#xff09;L.append(Paul),增加…

puppet

Puppet前期环境&#xff08;网络、解析、yum源、NTP&#xff09;在上一章节已经准备就绪&#xff0c;接下来我们就开始安装Puppet了&#xff0c;安装Puppet其实很简单&#xff0c;官方已经提供了yum源&#xff0c;只需要自己将所需要的安装包下载下来然后做成本地yum源即可使用…

[转载] 【数学问题】利用python求解表达式

参考链接&#xff1a; Python 变量 &#xff5c;表达式 &#xff5c;条件和函数 有时候我们会遇到一些很复杂的表达式&#xff0c;或者想要求解某个表达式&#xff0c;但是手动计算的话不但耗时还费精力&#xff0c;我们能不能利用计算机来帮助我们进行计算呢&#xff1f; 1…

cesium广告牌_公路广告牌

cesium广告牌Description: 描述&#xff1a; This is a standard dynamic programing problem of finding maximum profits with some constraints. This can be featured in any interview coding rounds. 这是在某些约束条件下找到最大利润的标准动态编程问题。 这可以在任何…

你和大牛差了啥

mmp。无时无刻不在想和大牛差在哪里了。别人为什么可以那么牛逼而你tmd那么菜&#xff01;整个人顿时都颓废了。啥事儿不想干。后来想了想感情就是他比较黑吧。

[转载] python数组的使用

参考链接&#xff1a; Python中整数的最大可能值是多少&#xff1f; 原文地址为&#xff1a; python数组的使用 python数组的使用 python数组的使用 2010-07-28 17:17 1、Python的数组分三种类型&#xff1a; (1) list 普通的链表&#xff0c;初始化后可以通过特定方法…

scala中循环守卫_Scala中的循环

scala中循环守卫Scala中的循环 (Loops in Scala) In programming, many times a condition comes when we need to execute the same statement or block of code more than one time. It could be difficult to write the same code multiple times, so programing language d…

50个必备基础命令

1.tar创建一个新的tar文件$ tar cvf archive_name.tar dirname/解压tar文件$ tar xvf archive_name.tar查看tar文件$ tar tvf archive_name.tar2. grep在文件中查找字符串(不区分大小写)$ grep -i "the" demo_file输出成功匹配的行&#xff0c;以及该行之后的三行$ g…

NM的完整形式是什么?

NM&#xff1a;无消息 (NM: No Message) NM is an abbreviation of "No Message". NM是“无消息”的缩写。 It is an expression, which is commonly used in the Gmail platform. It is also written as N/M or n/m or *n/m*. It is written in the subject of the…

[转载] python中全局变量和局部变量解析

参考链接&#xff1a; Python中的全局变量和局部变量 python函数中可以访问全局变量但是不能给全局变量赋值&#xff0c;除非进行显式声明global a 比如定义了全局变量 a 在函数my_fun()中可以直接访问a的值&#xff0c;而不需要global全局变量申明。下图为上面代码运行输出 …

【iCore4 双核心板_FPGA】例程十六:基于双口RAM的ARM+FPGA数据存取实验

实验现象&#xff1a; 核心代码&#xff1a; int main(void) {/* USER CODE BEGIN 1 */int i;int address,data;char error_flag 0;char receive_data[50];char buffer[8];char *p;/* USER CODE END 1 *//* MCU Configuration-----------------------------------------------…

[转载] Python中TFTP的理解

参考链接&#xff1a; Python中的打包pack和拆包unpack参数 Num01–>TFTP协议介绍 TFTP&#xff08;Trivial File Transfer Protocol,简单文件传输协议&#xff09; 是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议 特点&#xff1a; 1,简单 2…

gn fast-gn_GN的完整形式是什么?

gn fast-gnGN&#xff1a;晚安 (GN: Good Night) GN is an abbreviation of "Good Night". GN是“ Good Night”的缩写 。 It is an expression, which is commonly used in messaging or chatting on social media networking sites like Facebook, Yahoo Messenge…