目录
1.求阶乘
题目内容:
我们定义求n(n为正整数且n<=20)的阶乘的函数为fact,给出程序主体如下:
n=int(input("")) print(fact(n))
请补充完成对fact函数的定义。
输入格式:
共一行,为一个小于20的正整数。
输出格式:
共一行,为一个正整数。
输入样例:
3
输出样例:
6
输出:
def fact(n): #定义函数为fact s=1 for i in range(1,n+1): s *= i return s n=int(input('请输入')) print('阶乘为:' ,fact(n)) #输出
2.列表元素筛选
题目内容:
已知输入为一个列表,列表中的元素都为整数,我们定义元素筛选函数为foo,功能是检查获取传入列表对象的所有奇数位索引(注意列表的索引是从0开始的)对应的元素,并将其作为新列表返回给调用者。给出程序主体如下:
alist=list(map(int,input().split())) print(foo(alist))
请补充完成对foo函数的定义。输入格式:
共一行,列表中的元素值,以空格隔开。
输出格式:
共一行,为一个列表。
输入样例:
1 2 3 4
输出样例:
[2, 4]
输出:
alist=list(map(int,input('请输入:').split())) #使用空格进行分隔 t=len(alist) def foo(*args): #*args 不定参数(不定的意思是指,预先并不知道,函数使用者会传递多少个参数给你) #*args是用来发送一个非键值对的可变数量的参数列表给一个函数。 *args的用法:当传入的参数个数未知,且不需要知道参数名称时。 blist=[] for i in range(t): if i %2 ==1: blist.append(alist[i]) return blist print(foo(alist))# 索引从0开始查起
alist=list(map(int,input('请输入:').split())) def foo(alist): return alist[1::2] print('获取的奇数索引为:',foo(alist)) # 索引从0开始查起
3.冒泡排序
题目内容:
冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
已知输入为一个列表,列表中的元素都为整数,我们定义冒泡排序函数为bubbleSort,将列表中的元素按从小到大进行排序后得到一个新的列表并输出,给出程序主体如下:
alist=list(map(int,input().split())) print(bubbleSort(alist))
请补充完成对bubbleSort函数的定义。
输入格式:
共一行,列表中的元素值,以空格隔开。
输出格式:
共一行,为一个列表。
输入样例:
1 4 2 3
输出样例:
[1, 2, 3, 4]
输出
def bubbleSort(alist): for i in range(len(alist) - 1): for j in range(len(alist) - 1 - i): if alist[j] > alist[j + 1]: alist[j], alist[j + 1] = alist[j + 1], alist[j] return alist #实例化输出 #使用逗号进行分隔(英文逗号) q = list(map(int, input('请输入元素:').split(','))) print('从小到大排序的列表:',bubbleSort(q))