6、编写程序,利用元组作为函数的返回值,求系列类型中的最大值、最小值和元素个数,并编写测试代码,假设测试数据分别为s1=[9,8,7,3,2,1,55,6]、s2=[‘apple’,‘pear’,‘melon’,‘kiwi’],s3=‘TheQuickBrownFox’。运行效果如下:
s1=[9,8,7,3,2,1,55,6]
最大值=55,最小值=1,元素个数=8
s2=[‘apple’,‘pear’,‘melon’,‘kiwi’]
最大值=pear,最小值=apple,元素个数=4
s3=‘TheQuickBrownFox’
最大值=x,最小值=B,元素个数=16
提示:函数形参为系列类型,返回值是形如“(最大值,最小值,元素个数)”的元组
# 博主链接:https://blog.csdn.net/qq_45148277
# email:[email protected]
# 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
# 开发时间:2022/6/5 16:13
# 6、编写程序,利用元组作为函数的返回值,求系列类型中的最大值、最小值和元素个数,
# 并编写测试代码,假设测试数据分别为s1=[9,8,7,3,2,1,55,6]、s2=['apple','pear','melon','kiwi'],
# s3='TheQuickBrownFox'。运行效果如下:
# s1=[9,8,7,3,2,1,55,6]
# 最大值=55,最小值=1,元素个数=8
# 提示:函数形参为系列类型,返回值是形如“(最大值,最小值,元素个数)”的元组
def hanshu(a):
lst = []
if type(a) is not list:
li = list(a)
else:
li = list(a)
li.sort()
max1 = max(li)
min1 = min(li)
len1 = len(li)
lst.append(max1)
lst.append(min1)
lst.append(len1)
return tuple(lst)
a = eval(input('请输入:'))
print(hanshu(a))
7、列表 L = [(92,88), (79,99), (84,92), (66, 77)]有 4 项数据,每项数据表示学生的语文和数学成绩。求数学成绩最高的学生的成绩。提示:应用 max 函数,然后设计 lambda 函数来实现, max(L, key=lambda ________ )
# 博主链接:https://blog.csdn.net/qq_45148277
# email:[email protected]
# 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
# 开发时间:2022/6/5 16:38
## 7、列表 L = [(92,88), (79,99), (84,92), (66, 77)]
# 有 4 项数据,每项数据表示学生的语文和数学成绩。求数学成绩最高的学生的成绩。
# 提示:应用 max 函数,然后设计 lambda 函数来实现, max(L, key=lambda ________ )
L = [(92, 88), (79, 99), (84, 92), (66, 77)]
def bijiao(tup):
return tup[1]
print(max(L, key=bijiao))
print(max(L, key=lambda tup: tup[1]))
dic = {
"a": 1, "b": 2, "c": 3}
def bijiao2(key):
return dic[key]
print(min(dic, key=bijiao2))
print(min(dic, key=lambda k: dic[k]))
# 博主链接:https://blog.csdn.net/qq_45148277
# email:[email protected]
# 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
# 开发时间:2022/6/5 16:41
# 8、1920 年代后期,数学家大卫•希尔伯特的学生 Gabriel Sudan 和威廉•阿克曼,当时正研究计算的基础。Sudan 发明了一个递归却非原始递归的 Sudan 函数。1928 年,阿克曼又独立想出了另2021一个递归却非原始递归的函数。它需要两个自然数作为输入值,输出一个自然数。它的输出值增长速度非常高,仅是(4,3)的输出已大得不能准确计算。阿克曼函数定义如下:
#
# 输入:两个整数(不大于 4 和 3),中间以空格分开
#
# 输出:这两个整数的参数值
def A(m, n):
if m == 0:
return n + 1
elif m > 0 and n == 0:
return A(n - 1, 1)
elif m > 0 and n > 0:
return A(m-1,A(m,n-1))
else:
return "输入内容不规范"
m = input(int("输入m"))
n = input(int("输入n"))
print(A(m,n))
9、编写函数,接收一个字符串,判断该字符串是否为回文。所谓回文是指,从前向后读和从后向前读是一样的。
# 博主链接:https://blog.csdn.net/qq_45148277
# email:[email protected]
# 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
# 开发时间:2022/6/5 16:48
# 9、编写函数,接收一个字符串,判断该字符串是否为回文。所谓回文是指,从前向后读和从后向前读是一样的。
def check(str1):
if str1 == str1[-1::-1]:
return True
return False
str1 = input("输入字符串 :")
if check(str1):
print(str1, "是回文字符串")
else:
print(str1, "不是回文字符串捏")
10、编写函数,接收参数 a 和 n,计算并返回形式如 a + aa + aaa + aaaa +…+ aaa…aaa 的表达式前 n 项的值,其中 a 为小于 10 的自然数。
# 作者:邵昱原
# 博主链接:https://blog.csdn.net/qq_45148277
# email:[email protected]
# 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
# 开发时间:2022/6/5 17:19
# 10、编写函数,接收参数 a 和 n,计算并返回形式如 a + aa + aaa + aaaa +…+ aaa…aaa 的表达式前 n 项的值,其中 a 为小于 10 的自然数。
def hanshu(a,n) :
sum = 0
if type(a) != type(1) or a >= 10 or a <=0:
print("憨憨,输入的不合法")
return
else :
for i in range(0,n):
sum += int(str(a)*(i+1))
return sum
a = eval(input("输入a:"))
n = eval(input("输入n:"))
print(hanshu(a,n))
上学的时候事情太多导致没有坚持更新博客,我的很多实验也copy了很多朋友的,现在放假了,每天会复习一部分来练练手,并改正其中的一些错误。