问:
【基础题1】:设计一个重量转换器,输入以“g”为单位的数字后返回换算成“kg”的结果
【基础题2】:设计一个求直角三角形斜边长的函数,比如直角边长分别为3和4,输出结果为:The right triangle third side's length is 5.0
【提高题】:打印出杨辉三角形(实现根据键盘输入数字打印出相应数量的行,比如,输入10,则打印出 10 行)
答:
方法1:
def weight_conversion(weight, option): if option == '1': return str(weight * 1000) + 'g' elif option == '2': return str(weight / 1000) + 'kg' else: print('没有此选项') if __name__ == '__main__': option = input('1. kg to g 2. g to kg 请选择:') weight = int(input('请输入重量:')) print(weight_conversion(weight, option))
方法2:
wg = int(input("请输入基础单位克(g)!!! ")) wkg = wg / 1000 print("化为千克为: %f(kg)" % wkg)
【基础题2】:设计一个求直角三角形斜边长的函数,比如直角边长分别为3和4,输出结果为:The right triangle third side's length is 5.0
方法1:
import math def hypotenuse(a, b): ''' :param a: 直角边 :param b: 直角边 :return: 斜边长 ''' return math.sqrt(a ** 2 + b ** 2) if __name__ == '__main__': a = int(input("请输入一条直角边:")) b = int(input("请输入另一条直角边:")) print("The right triangle third side's length is", hypotenuse(a, b))
方法2:
import math print(".."*16) x = int(input("请输入直角三角形的一条直角边的边长: ")) y = int(input("请输入另一条直角边的边长: ")) z = math.sqrt(x*x + y*y) print(".."*16) print("直角三角形的斜边长为:{}".format(z))
【提高题】:打印出杨辉三角形(实现根据键盘输入数字打印出相应数量的行,比如,输入10,则打印出 10 行)
方法1:
lines = int(input("请输入打印行数:")) out_list, process_list = [1], [1] if lines == 1: print('{}'.format(' '.join(list(map(str, out_list))))) else: for j in range(lines): # 行数 print('{}'.format(' '.join(list(map(str, out_list))))) for i in range(1, j + 2): # 下一行每行个数 if i > len(out_list) - 1: process_list.append(1) else: process_list.append(out_list[i - 1] + out_list[i]) out_list = process_list[:] process_list = [1]
方法2:
import numpy as np def get_triangle(): row = np.array([1]) yield row margin_array = np.array([0]) while True: next_row = np.concatenate((margin_array, row)) + np.concatenate((row, margin_array)) yield list(next_row) row = next_row triangle = get_triangle() for i in range(10): print(f"row {i+1}: ", triangle.__next__())