学习了这么多天的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')