预科班day06作业
1.定义一个函数,该函数可以实现在内部输入一个信息,如何该信息不能转换为正整数,则重新输入,直到能转换为正整数,则对外返回转换的正整数
代码:
def intnum():
while True:
num = input('请输入一个信息')
if num[0] == '-' or num.isdigit() or num.count('.')==1 and num.replace(".", '').isdigit():
if eval(num)>0:
return round(eval(num),0)
if eval(num)<0:
return abs(round(eval(num),0))
print(intnum())
2.定义一个函数,该函数可以实现在内部输入一个信息,如何该信息不能转换为负整数,则重新输入,直到能转换为负整数,则对外返回转换的负整数
代码:
def fintnum():
while True:
num = input('请输入一个信息')
if num[0] == '-' or num.isdigit() or num.count('.') == 1 and num.replace(".", '').isdigit():
if eval(num) > 0:
return 0-round(eval(num), 0)
if eval(num) < 0:
return round(eval(num), 0)
print(fintnum())
3.定义一个函数,实现外界传入一个信息,内部判断是否能被转换为正整数,返回True | Flase信息
代码:
def testfint(num):
num = str(num)
if num[0] == '-' or num.isdigit() or num.count('.') == 1 and num.replace(".", '').isdigit():
return True
else:
return False
print(testfint(-36))
print(testfint('fas1.3'))
print(testfint('2313'))
4.定义一个函数,实现外界传入一个信息,内部判断是否能被转换为负整数,返回True | Flase信息
代码:
def testfint(num):
num = str(num)
if num[0] == '-' or num.isdigit() or num.count('.') == 1 and num.replace(".", '').isdigit():
return True
else:
return False
print(testfint('-1213'))
print(testfint('fasf1.3'))
5.定义一个函数,实现传入一个整型数字,判断并直接打印该数字是否是奇数还是偶数
代码:
def printnum(num):
num = str(num)
if num[0] == '-' or num.isdigit() or num.count('.') == 1 and num.replace(".", '').isdigit():
if eval(num)%2==0:
print('该数是偶数!')
elif eval(num)%2==1:
print('该数是奇数!')
else:
print('该数既不是偶数也不是奇数!')
printnum(-99)
6.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
代码:
def listtwo(list):
if len(list)>2:
return list[:2]
else:
return list
list = ['asf','afasf','asfsdafd']
print(listtwo(list))
7.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
代码:
def oddnum(list1):
a = list(list1)
i=0
list2 = []
while i < len(a):
if (i+1)%2 == 1 :
list2.append(list1[i])
i+=1
return list2
a = ['fas',131,'fa','ag',13,'46as']
print(oddnum(a))
8.定义一个函数,只要传入 "k1:v1,...,kn:vn" 这样固定格式的字符串,都可以将其转换为 {'k1':'v1',...,'kn':'vn'}这样的字典并返回
def return_dirc(str):
list1 = str.split(',')
dirc = {}
for i in range(len(list1)):
split = list1[i].split(':')
dirc[split[0]] = split[1]
return dirc
print(return_dirc('k:21,l:1231:564f,56:fsdf'))1.定义一个函数,该函数可以实现在内部输入一个信息,如何该信息不能转