# 第五周 # 第一题 函数的定义与调用 # 自定义一个函数,实现打印菱形功能。函数包含一个参数, # 用于控制菱形的行数。(菱形的打印可参考第三章内容) # rows = int(input('请输入菱形的行数:')) # half = rows // 2 # if rows % 2 == 0: # up = half # else: # up = half + 1 # for i in range(1, up + 1): # print(' ' * (up - i), "* " * (2 * i - 1)) # for i in range(half, 0, -1): # print(' ' * (up - i), "* " * (2 * i - 1)) # 自定义一个函数,对任意两个整数之间所有整数(包含这两个整数)进行求和。 # 函数包含两个参数,用于指定起始整数和结束整数。 # 其中小的作为起始整数,大的作为结束整数,将求和结果作为返回值返回。 # 编写函数实现如下功能,对传递的一组数据进行操作,调整数据的位置, # 使得所有的奇数位于前半部分,所有的偶数位于后半部分, # 并保证奇数和奇数,偶数和偶数之间的相对位置不变。 # 例如:原始数据为:[9, 6, 7, 3, 1, 8, 4, 3, 6], # 则调整后的数据为: [9, 7, 3, 1, 3, 6, 8, 4, 6]。 # 调用函数,并输出函数返回结果 # 第二题 参数类型与参数传递 # 自定义一个函数,用于计算矩形的面积和周长, # 函数包含两个参数:长和宽,由于正方形是特殊的矩形,因此也支持传递一个参数的情况。 # 当传递一个参数时,表示长和宽相等,最后将计算结果进行返回。 # (同时支持一个参数和两个参数,同时返回多个值) # 第三题 递归 # 角谷定理。随机输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。 # 经过如此有限次运算后,总可以得到自然数值1。 # 编写程序,捕获用户输入的数字,然后输出从该数字到最终结果1的过程, # 统计需要经过多少步计算可得到自然数1。 # 如:输入22 # 输出 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 # 步数为:15 # 一只青蛙一次可以跳上1级台阶,也可以跳上2级。 # 求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。