day06 HomeWork
题目一:
1.定义一个函数,该函数可以实现在内部输入一个信息,如何该信息不能转换为正整数,则重新输入,直到能转换为正整数,则对外返回转换的正整数
def get_int():
while True:
data =input('请输入一个数:')
if data.isdigit():# 判断输入的数是不是数字
return int(data)
res = get_int()
print(res)
2.定义一个函数,该函数可以实现在内部输入一个信息,如何该信息不能转换为负整数,则重新输入,直到能转换为负整数,则对外返回转换的负整数
def get_int():
while True:
data = input('data: ')
if data.isdigit():
return int(-1*data)
elif data.startswith('-') and data[1:].isdigit() and data.count('-') == 1:
num = data.split('-')[1]
if num.isdigit():
return int(data)
else:
num = data.split('.')
num = str(num[0])
return num
else:
num = data.split('.')
num=str(num[0])
return int(num)*-1
res = get_int()
print(res)
3.定义一个函数,实现外界传入一个信息,内部判断是否能被转换为正整数,返回True | Flase信息
def get_int():
data=input('data:')
if data.startswith('-') and data[1:].isdigit() and data.count('-') == 1:
return True
if data.isdigit():
return True
else:
return False
res = get_int()
print(res)
4.定义一个函数,实现外界传入一个信息,内部判断是否能被转换为负整数,返回True | Flase信息
def get_int():
data = input('data:')
if data.startswith('-') and data[1:].isdigit() and data.count('-') == 1:
return True
if data.isdigit():
return True
if '.'in data:
return True
else:
return False
res = get_int()
print(res)
5.定义一个函数,实现传入一个整型数字,判断并直接打印该数字是否是奇数还是偶数
def get_int(data):
if data%2 ==0:
print('data是个','偶数')
else:
print('data是个', '奇数')
get_int(101)
6.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def get_list(data):
res=[]
ls=['xichen','beautiful','xuchen','height','weight']
if data > 2:
print(ls[:2])
return ls[2:]
else:
print(ls)
res=get_list(3)
res=get_list(2)
7.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def get_list(data):
ls = [ ]
for i in range(len(data)):
if i % 2 == 1:
ls.append(data[i])
print(ls)
data = ['xu','chen','cheng','yu','cheng','xing']
res = get_list(data)
8.定义一个函数,只要传入 "k1:v1,...,kn:vn" 这样固定格式的字符串,都可以将其转换为 {'k1':'v1',...,'kn':'vn'}这样的字典并返回
def get_dict(data):
dic1 = dict()
ls = t.split(',')
for i in ls:
ls2=i.split(':')
dic1[ls2[0]]=ls2[1]
print(dic1)
t="k1:v1,k2:v2,k3:v3,k4:v4,kn:vn"
get_dict(t)
9.简单购物车,要求如下 (可以用函数也可以不用):# 实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入,购买成功后打印添加到购物车里的信息.
def get_yes():
while True:
ls=[]
msg_dic={'apple':10,'tesla':100000,'mac':3000,'lenovo':30000,'chicken':10,}
for i in msg_dic.items():
tu=i
print('name:',tu[0],'price:',tu[1])
for i in msg_dic.items():
name = input('商品>>:')
num = input('购买个数>>:')
if name in msg_dic and num.isdigit():
ls.append((name, msg_dic[name], num))
print(ls)
else:
continue
res=get_yes()
print(res)