作业—数据类型8.20
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了作业—数据类型8.20相关的知识,希望对你有一定的参考价值。
1、写代码,有如下变量,请按照要求实现每个功能
name = " aleX"
a. 移除name变量对应的值两边的空格,并输出移除后的内容
name = " aleX"
value = name.strip()
print(name)
print(value)
b.判断name变量对应的值是否以"al"开头,并输出结果
name = " aleX"
value =name[0:2]
a =bool(value=="al")
print(a)
c.判断name变量对应的值是否以"X"结尾,输出结果
name = " aleX"
value = name[-1]
a = bool(value=="X")
print(a)
d.将name变量对应的值中的“l”替换为“p”,并输出结果
name = " aleX"
vale = name.replace("l","p")
print(vale)
e.将name变量对应的值根据“l”分割,并输出结果。
name = " aleX"
value = name.split("l")
print(value)
f.请问,上一题e分割之后得到值是什么类型(可选)?
name = " aleX"
value = name.split("e")
print(value)
g.将name变量对应的值变大写,并输出结果
name = " aleX"
value = name.upper()
print(name,value)
h.将name变量对应的值变小写,并输出结果
name = " aleX"
value = name.lower()
print(name,value)
i.请输出name变量对应的值的第2个字符?
name = " aleX"
value = name[2]
print(value)
j.请输出name变量对应的值的前3个字符?
name = " aleX"
value = name[3]
print(value)
k.请输出name变量对应的值的后2个字符?
name = " aleX"
value = name[3:]
print(value)
l.获取子序列,仅不包含最后一个字符。如:oldboy则获取oldbo; root则获取roo
name = " aleX"
value = name[0:4]
print(value)
2、写代码:使用While和For循环分别打印字符串每个元素。
# v = "asdadad"
# for i in v:
# print(i)
# i = 0
# v = "asdadad"
# value = len(v)
# while i < value:
# print(v[i])
# i = i+1
3、请用代码实现:li = [‘alex’,’eric’,’rain]利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"
li = [‘eric‘,‘alex‘,‘rain‘]
v = "_".join(li)
print(v)
4、实现一个整数加法计算器:如:content = input‘请输入内容:‘) #如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算
content = input(‘>>>‘) # 5+9 a,b = content.split(‘+‘)
a = int(a) b = int(b)
print(a+b)
5、计算用户输入的内容中有几个整数?如:content = input(‘请输入内容:‘)
# #如:asduiaf878123jkjsfd-213928
content = input(‘>>>‘) # sdfsdf123sdf123
val = 0
for count in content:
if count.isdecimal():
val += 1
6、制作趣味模板程序
# 需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
# 如:敬爱可亲的xxx,最喜欢在xxx地方干xxx
name = input(‘请输入姓名:‘)
age = input(‘请输入地点:‘)
hobby = input(‘请输入爱好:‘)
msg = "我叫%s,最喜欢在%s地方干%s"%(name,age,hobby)
print(msg)
7、制作随机验证码,不区分大小写。流程:
# -用户执行程序
# -给用户显示需要输入的验证码
# -用户输入的值用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入生成随机验证码代码示例:
while True:
def check_code():
import random
checkcode = ‘‘
for i in range(4):
current = random.randrange(0,4)
if current != i:
temp = chr(random.randint(65,90))
else:
temp = random.randint(0,9)
checkcode += str(temp)
return checkcode
code = check_code()
print(code)
d = input(‘请输入验证码‘)
i = d.upper()
if i == code:
print(‘验证成功‘)
break
else :
print(‘验证失败请重新输入‘)
8、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
# 如敏感词列表li = ["苍老师","东京热"],则将用户输入内容中出现任意敏感字符串替换为***
li= [‘东京热‘,‘苍老师‘]
a = input(‘请输入内容:\n‘)
for item in li :
if item in a:
a = a.replace(item,‘***‘)
print(a)
9、 查找列表中元素,移除每个元素的空格,并查找以a 或 A开头并且以c结尾的所有元素。li = ["alec", " aric", "Alex", "Tony", "rain"] tu = ("alec", " aric", "Alex", "Tony", "rain") dic = {‘k1‘: "alex", ‘k2‘: ‘ aric‘, "k3": "Alex", "k4": "Tony"}
li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {‘k1‘: "alex", ‘k2‘: ‘ aric‘, "k3": "Alex", "k4": "Tony"}
for item in li:
item = item.strip()
if (item.startswith(‘a‘) or item.startswith(‘A‘)) and item.endswith(‘c‘):
print(item)
for ite in tu:
ite = ite.strip()
if (ite.startswith(‘a‘) or ite.startswith(‘A‘)) and ite.endswith(‘c‘):
print(ite)
for it in dic.values():
it = it.strip()
if (it.startswith(‘a‘) or it.startswith(‘A‘)) and it.endswith(‘c‘):
10、写代码,有如下列表,按照要求实现每一个功能 li = [‘alex‘, ‘eric‘, ‘rain‘]
a. 计算列表长度并输出
li = [‘alex‘, ‘eric‘, ‘rain‘]
v = len(li)
print(v)
b. 列表中追加元素 “seven”,并输出添加后的列表
li = [‘alex‘, ‘eric‘, ‘rain‘]
v = ‘seven‘
li.append(v)
print(li)
c. 请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表
li = [‘alex‘, ‘eric‘, ‘rain‘]
v = ‘Tony‘
li.insert(0,v)
print(li)
d. 请修改列表第2个位置的元素为 “Kelly”,并输出修改后的列表
li = [‘alex‘, ‘eric‘, ‘rain‘]
v = ‘kelly‘
del li[1]
li.insert(1,v)
print(li)
f. 请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
li = [‘alex‘, ‘eric‘, ‘rain‘]
print(‘删除的元素值为%s‘%(li[1]))
del li[1]
print(li)
g. 请删除列表中的第3个元素,并输出删除元素后的列表
li = [‘alex‘, ‘eric‘, ‘rain‘]
del li[2]
print(li)
h. 请删除列表中的第2 至 4 个元素,并输出删除元素后的列表
li = [‘Tony‘,‘alex‘, ‘eric‘, ‘rain‘]
del li[1:5]
print(li)
i. 请将列表所有的元素反转,并输出反转后的列表
li = [‘Tony‘,‘alex‘, ‘eric‘, ‘rain‘]
li.reverse()
print(li)
j. 请使用 while、len 输出列表的索引值,如:0,1,2,3,4…
li = [‘Tony‘,‘alex‘, ‘eric‘, ‘rain‘]
while True:
print(len(li)-1)
break
l. 请使用 for 循环输出列表的所有元素
li = [‘Tony‘,‘alex‘, ‘eric‘, ‘rain‘]
for item in li:
print(item)
11、 写代码,有如下列表,请按照功能要求实现每一个功能 li = ["hello", ‘seven‘, ["mon", ["h", "kelly"], ‘all‘], 123, 446]
a. 请根据索引输出 “Kelly”
li = ["hello", ‘seven‘,["mon",["h","kelly"],‘all‘],123,446]
print(li[2][1][1])
b. 请使用索引找到 ‘all‘ 元素并将其修改为 “ALL”,如:li[0][1][9]...
li = ["hello", ‘seven‘,["mon",["h","kelly"],‘all‘],123,446]
print(li[2][2])
li[2][2] = li[2][2].upper()
print(li)
12、 写代码,有如下元组,按照要求实现每一个功能 tu = (‘alex‘, ‘eric‘, ‘rain‘)
a. 计算元组长度并输出
tu = (‘alex‘, ‘eric‘, ‘rain‘)
print(len(tu))
b. 获取元组的第 2 个元素,并输出
tu = (‘alex‘, ‘eric‘, ‘rain‘)
print(tu[1])
c. 获取元组的第 1-2 个元素,并输出
tu = (‘alex‘, ‘eric‘, ‘rain‘)
print(tu[0:2])
d. 请使用 for 输出元组的元素
tu = (‘alex‘, ‘eric‘, ‘rain‘)
for item in tu:
print(item)
e. 请使用 while、len 输出元组的索引值,如:0、1、2、3..
tu = (‘alex‘, ‘eric‘, ‘rain‘)
i = 0
while True:
if i < len(tu):
print(i)
i = i + 1
else:
break
13、有如下变量,请实现要求的功能tu=("alex", [11, 22, {"k1": ‘v1‘, "k2": ["age", "name"], "k3": (11,22,33)}, 44])
a. 讲述元祖的特性
元祖不能改变
b. 请问 tu 变量中的第一个元素 “alex” 是否可被修改?
不能
c. 请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”
list
tu=("alex", [11, 22, {"k1": ‘v1‘, "k2": ["age", "name"], "k3": (11,22,33)}, 44])
print(type(tu[1][2][‘k2‘]))
tu[1][2][‘k2‘] = "age", "name",‘7‘
print(tu)
d. 请问 tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”
tuple
不能修改
14、购物车功能要求:要求用户输入自己拥有总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车
# 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
# goods = [{"name": "电脑", "price": 1999},{"name": "鼠标", "price": 10},{"name": "游艇", "price": 20},{"name":
# "美女", "price": 998},]
m = input("请输入总资产:")
ss = 0
h = 0
mun = 0
while ss < 4:
print("商品序号%d,商品名称%s,商品价格%s" %(ss+1,v[ss]["name"],v[ss]["price"]))
ss += 1
while True:
msg = input("请输入序号1—4将物品加入购物车,输入q结算金额")# SDF 123
# msg.lower().strip()
if msg.lower().strip() == "q":
break
elif msg.isdecimal() == False:
print("你输入的格式错误,请重新输入")
elif int(msg) not in range(1,5):
print("您输入有误,请重新输入")
else:
h = int(v[int(msg)-1]["price"])
mun += h
print("您输入的名称为%s,预计花费总金额%d" %(v[int(msg)-1]["name"],mun))
if mun > int(m):
print("余额不足,请充值")
else:
print("购买成功")
15、分页显示内容
# a.通过for循环创建301条数据,数据类型不限,如:
# alex-1 [email protected] [email protected] pwd2
# alex-3 [email protected] pwd3...
# PS:可使用while循环自己创建user_list= []循环,创建字典{‘’:’xxx’,
# ‘email’:’xxx’,’pwd’:’xxxx’},将创建的字典追加到列表中。
# b.提示用户请输入要查看的页码,当用户输入指定页码,则显示指定数据注意:
# -每页显示10条数据
# -用户输入页码是非十进制数字,则提示输入内容格式错误
user_list = []
i = 0
while i <= 300:
name = "alex - %d" %(i+1)
eml = "alex%[email protected]"%(i+1)
pwd = "pwd%d"%(i+1)
dict = {}
dict["username"] = name
dict["emal"] = eml
dict["password"] = pwd
user_list.append(dict)
i += 1
for data in user_list:
print(data)
while True:
user_choice = input("请输入页码:")
user_choice.strip()
if user_choice.isdecimal():
user_choice = int(user_choice)
if user_choice > 0 and user_choice <= int(len(user_list)/10+1):
min = user_choice * 10 - 10
max = user_choice * 10 - 1
if max > 300:
max = 300
start = min
while start <= max:
print(user_list[start])
start += 1
else:
print("你输入的页码不存在")
else:
print("请重新输入")
以上是关于作业—数据类型8.20的主要内容,如果未能解决你的问题,请参考以下文章