python字典功能默写_python 基础综合练习题

学习了这么多天的python了,是时候该作套题啦

简述变量命名规范

(1)见名之意:例如名字 name

(2)大驼峰命名法:MyName 将每个这字母的首字母大写

小驼峰命名法:myName 将第二个字母的首字母大写

(3)下划线命名法 例如list_name

默写字符串12个功能,并且描述其作用

upper(将字母全部大写)

lower(将字母全部小写)

isdigit(判断是否由数字组成)

count(统计数显的个数)

find(查找)

split(按照指定内容拆分)

replace(从左往右替换,可以指定替换的个数)

center(居中对齐)

strip(去除两边空格)

format(按照顺序,将参数传递个前面大括号)

swapcase(将大小写互换)

isalpha(判断是否由字母组成)

数字、字符串、元组、列表、字典对应的布尔值为False的分别为什么

当数字为:0 字符串为:’’ 元组为:() 列表为:[] 字典为:{}时布尔值为False

写代码,有如下列表,利用切片实现每一个功能。

lst=[1,3,2,’a’,4,’b’,5,’c’]

(1).通过切片获取新的列表 lst2, lst2=[1,2,4,5]

(2).通过切片获取新的列表 lst3,lst3=[3,’a’,’b’]

(3).通过切片获取新的列表 lst4,lst4=[‘c’]

(4).通过切片获取新的列表 lst5,lst5=[‘b’,’a’,3]

# 1.

lst2 = lst[:: 2]

print(lst2)

# 2.

lst3 = lst[1:7:2]

print(lst3)

# 3.

lst4 = lst[7:]

print(lst4)

# 4.

lst5 = lst[-3:-8:-2]

print(lst5)

列表题

lis = [[‘k’, [‘qqq’, 20, {‘k1’: [‘aa’, 3, ‘1’]}, 33], ‘xx’]]

(1).将 aa 变成大写AA。

(2).将列表中的3变成字符串‘3’

# 1.

lis[0][1][2]['k1'][0] = 'AA'

print(lis)

# 2.

lis[0][1][2]['k1'][1] = '3'

print(lis)

字典题

6、字典dic = {‘k1’: ‘v1’, ‘k2’: [‘sb’, ‘aa’], (1, 2, 3, 4, 5): {‘k3’: [‘2’, 100, ‘wer’]}}

(1). k2对应的值中添加33

(2).k2对应的值的第一个位置插入一个元素‘s’

(3).将(1,2,3,4,5)对应的值添加一个键值对 ‘k4’:’v4’

(4).将(1,2,3,4)对应的值添加一个键值对(1,2,3):‘ok’

(5).将’k3’对应的值的‘wer’改为’qq’。

# (1)

dic['k2'].append(33)

print(dic)

# (2)

dic['k2'].insert(0, 's')

print(dic)

# (3)

dic[(1, 2, 3, 4, 5)]['k4'] = 'v4'

print(dic)

# (4)

dic[(1, 2, 3, 4, 5)][(1, 2, 3)] = 'ok'

print(dic)

# (5)

dic[(1, 2, 3, 4, 5)]['k3'][2] = 'qq'

print(dic)

转换类型

# (1).int和str 如何转换,转换的结果是什么。

a = '4'

st = int(a)

print(type(st))

print(st)

a1 = 4

st1 = str(a1)

print(type(st1))

print(st1)

# (2).int 与bool如何转换,转换的结果是什么。

a3 = 4

st3 = bool(a3)

print(type(st3))

print(st3)

a4 = True

st4 = int(a4)

print(type(st4))

print(st4)

# (3)str 与 list 如何转换,转换的结果是什么。

a5 = '你好'

st5 = list(a5)

print(type(st5))

print(st5)

# (1).有列表li=['aa','bb','cc'],将该列表构造成一个字符串 aabbcc

# (2).有列表li=['aa','bb','cc'],将该列表构造成一个字符串 aa*bb*cc

# (3).有字符串 s='albblcc' 将构造成一个列表 lst=[‘a’,’lbblcc’]

# (4).有字符串 s='aab bcc' 构造成列表 lst=[‘aab’,’bcc’]

# (5).有字符串s='abcd' 将字符串变成a_b_c_d。

# (1)有列表li=['aa','bb','cc'],将该列表构造成一个字符串 aabbcc

li = ['aa', 'bb', 'cc']

# for i in li:

# print(i,end='')

b = ''.join(li)

print(b)

# (2)有列表li=['aa','bb','cc'],将该列表构造成一个字符串 aa*bb*cc

a = '*'.join(li)

print(a)

# (3)有字符串 s='albblcc' 将构造成一个列表 lst=[‘a’,’lbblcc’]

s = 'albblcc'

b = []

b.append(str(s[0]))

b.append(str(s[1:]))

print(b)

# (3)有字符串 s='albblcc' 将构造成一个列表 lst=[‘a’,’bblcc’]

s = 'albblcc'

print(s.split('l', maxsplit=1))

# (4)有字符串 s='aab bcc' 构造成列表 lst=[‘aab’,’bcc’]

s = 'aab bcc'

# 第一种

# b = []

# b.append(str(s[0:3]))

# b.append(str(s[4:7]))

# print(b)

# 第二种

print(s.split(' ')) # 用split函数将空格删除

# (5).有字符串s='abcd' 将字符串变成a_b_c_d。

s = 'abcd'

print('_'.join(s))

使用for循环和while循环打印1-2+3-4+5… +99 的结果

# while循环

i = 1

sum = 0

while i <= 99:

if i % 2 == 0:

sum = sum - i

else:

sum = sum + i

i += 1

print(sum)

# for循环

sum = 0

for i in range(1, 100):

if i % 2 == 0:

sum = sum - i

else:

sum = sum + i

print(sum)

使用range()函数打印 100,99,98,…0

for i in range(100, -1, -1):

print(i, end='\t')

计算用户输入内容中索引为奇数并且对应的元素的数字的个数(没有则个数为零)

num = input()

count = 0

# 第一种

for i in num:

if num.index(i) % 2 == 1: # 找到索引值为奇数的值

if i.isdigit(): # 判断是否由数字组成

count += 1

print('索引为奇数为:', i)

else:

count = 0

print('个数为:', count)

# 第二种

for index, value in enumerate(num, start=0):

if index % 2 == 0 and value.isdigit():

count += 1

else:

count = 0

print(count)

有如下值li = [11, 22, 33, 44, 55, 77, 88, 99, 90],

将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。

li = [11, 22, 33, 44, 55, 77, 88, 99, 90]

dic = {1: [], 2: []}

for i in li:

if i < 66:

dic.get(1).append(i)

else:

dic.get(2).append(i)

print(dic)

查找列表中lst中的元素,移除每一个元素的空格,并且找出以’A’或者‘a’开头,并

以‘c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。

li = ['bajie ', ‘axlzC’, ’ AbC ', ’ gsssq ', ’ bobo ', ’ dongdong ‘, ’ aqc’]

li = ['bajie ', 'axlzC', ' AbC ', ' gsssq ', ' bobo ', ' dongdong ', ' aqc']

li1 = []

for i in li:

i = i.strip() # 去除每个元素的空格

if i[0].upper() == 'A' and i[-1] == 'c': # 利用索引值判断

li1.append(i)

print(li1)

整数加法计算器

例如用户输入:5+8+21…(最少输入2个数相加),然后进行分割再进行计算,

将最后的计算结果添加到字典中(替换None)。

dic={‘最终结果’:None}

# 第一种

dic = {'最终结果': None}

num = input('请输入内容:')

sum = 0

str = num.split('+') # 先用split将加号去掉。

# print(str)------>['12', '23']

for i in str:

sum += int(i) # 将i转换为整数

dic['最终结果'] = sum # 将sum值给字典中的value值

print(dic)

#第二种:利用eval函数

b=eval(num)

dic['最终结果']=b

print(dic)

购买商品有商品列表 lst= [“手机”, “电脑”, “鼠标垫”, “游艇”]

(1)在控制台上显示所有的商品,格式: 序号 商品名称 例如: 1 手机。

(2)如果输入Q则结束购买任务。

(3)输入对应的序号显示对应的商品,例如 输入 1 显示 手机

(4)如果输入的不是数字,提示用户输入有误。

如果数字范围不再序号范围内,也提示用户输入有误

lst = ["手机", "电脑", "鼠标垫", "游艇"]

for index, product in enumerate(lst, start=1):

print('商品序号为{}:{}'.format(index, product))

while True:

sr = input('请输入所要购买商品的序号(输入q\Q退出程序):')

if sr.upper() == 'Q': # 将输入的小写'q'转换为大写

print('程序结束.....')

break

elif sr.isdigit(): # 判断输入的是不是由数字组成

num = int(sr) # 转换为整数类型

if num > 0 and num <= len(lst): # 判断输入的数字是不是超出列表范围

print(lst[num - 1]) # 索引值是从0开始的所以要-1

else:

print('输入不在范围,输入有误')

else:

print('输入信息有误,请重新输入')

写程序:保存用户名和密码。

(1).用户名和密码保存在如下数据结构中

user_list = [

{‘username’: ‘zs’, ‘password’: ‘1234’},

{‘username’: ‘ls’, ‘passwod’: ‘asdf’}

]

(3).非法字符模板board = [‘zs’, ‘ls’, ‘ww’]。

(4).可连续输入用户名和密码。

(5).如果想终止程序,请输入Q或者q。

(6).录入用户名时,如果是board里面的非法字符串,将非法字符串替换成同等数量的* 例如 zs 替换成**。

然后添加到user_list中

(7).每次添加成功后,打印出刚添加的用户名,密码。

user_list = [

{'username': '尼古拉斯', 'password': '1234'},

{'username': '赵四', 'passwod': 'asdf'}

]

board = ['zs', 'ls', 'ww']

while True:

'''输入用户名'''

user_name = input('请输入用户名(输入q\Q程序结束):')

'''当输入q/Q时退出程序'''

if user_name.upper() == 'Q':

print('程序结束了....')

break

'''判断输入的用户名是否在非法字符中'''

if user_name in board:

'''将非法字符转化为同等个数的 * '''

user_name = '*' * len(user_name)

password = input('请输入密码:')

'''建立一个空字典'''

dic = {}

'''将输入的用户名和密码存储到字典中'''

dic['username'] = user_name

dic['password'] = password

'''然后将字典添加到列表user_list中'''

user_list.append(dic)

print(user_list)

超市买水果

(1).输入自己所有的钱。

(2)展示商品的序号,名称及其价格。

(3)输入要买商品的序号。

(4)输入要买商品的数量。

(5)购物车中显示购买的水果名称及其对应的数量和剩余钱。

(6)如果序号输入有误就提示用户重新输入。

如果钱不够了提示用户钱不够,并且退出程序。

print('---------------超市买水果-----------------')

product_list = [{'name': '苹果', 'price': 10},

{'name': '榴莲', 'price': 30},

{'name': '草莓', 'price': 20},

{'name': '菠萝', 'price': 15}, ]

# 1.创建一个购物车来盛放水果

shopping_cart = {}

# 2.提示用户输入钱

money_str = input('请展示一下你的钱:')

if money_str.isdigit():

'''是数字'''

user_money = int(money_str) # 类型转换

# 3.展示商品

for index, dic in enumerate(product_list, start=1):

print("水果的序号:{},名称:{},价格:{}".format(index, dic['name'], dic['price']))

while True:

# 4.输入序号

num_xh_str = input("请输入序号:")

if num_xh_str.isdigit():

'''输入的是一个数字'''

num_xh = int(num_xh_str) # 类型转换

if num_xh > 0 and num_xh <= len(product_list):

'''输入的序号范围在产品列表范围内'''

# 5.输入数量

num_sl_str = input('请输入数量:')

if num_sl_str.isdigit():

'''输入的数量是数字'''

num_sl = int(num_sl_str) # 类型转换

# 6.判断买的商品的总价格是否超过了用户的所有钱

# 如果没有超出,就可以添加到购物车中,如果超出了

# 就退出程序。

# (1).求商品的总价格 数量*价钱

# 根据序号找到水果的价格

num_dj = product_list[num_xh - 1]['price'] # 注意索引的获取

product_total_money = num_dj * num_sl # 购买某一种水果的总价钱

# (2).水果总价钱和用户的钱进行比较

if product_total_money <= user_money:

# 将商品添加到购物车

# i. 获取序号对应的商品名称

product_name = product_list[num_xh - 1]['name']

ret = shopping_cart.get(product_name) # 去购物车查找对于的商品名称

# None

if ret:

'''购物车中已经存在了此商品,只需添加数量'''

# 获取购物车中原有的数量

yysl = shopping_cart[product_name]

# 总共的数量

shopping_cart[product_name] = yysl + num_sl

print(shopping_cart)

else:

'''添加商品和数量'''

shopping_cart[product_name] = num_sl

print(shopping_cart)

# ii.去购物车进行查询如果有就添加数量如果没有就添加商品和数量

# 输出用户剩余的钱

user_money = user_money - product_total_money

print('用户剩余的钱:', user_money)

else:

'''商品总价格超过了用户的钱'''

print('亲,余额不足...')

break

else:

'''输入的数量不是数字'''

print('数量是数字哦。')

else:

'''输入的序号超出了范围'''

print('看清了在输入亲!!!')

else:

'''输入的序号不是一个数字'''

print('序号是由数字组成,请输入数字')

else:

'''输入的不是数字'''

print('你的钱怎么不是数字呢,SB')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值