问:

【基础题1】:设计一个重量转换器,输入以“g”为单位的数字后返回换算成“kg”的结果

【基础题2】:设计一个求直角三角形斜边长的函数,比如直角边长分别为3和4,输出结果为:The right triangle third side's length is 5.0

【提高题】:打印出杨辉三角形(实现根据键盘输入数字打印出相应数量的行,比如,输入10,则打印出 10 行)

答:

【基础题1】:设计一个重量转换器,输入以“g”为单位的数字后返回换算成“kg”的结果

方法1:

def weight_conversion(weight, option):
if option == '':
return str(weight * 1000) + 'g'
elif option == '':
return str(weight / 1000) + 'kg'
else:
print('没有此选项')


if __name__ == '__main__':
option = input('1. kg to g\n2. g to kg\n请选择:')
weight = int(input('请输入重量:'))
print(weight_conversion(weight, option))

方法2:

wg = int(input("请输入基础单位克(g)!!!\n"))

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("请输入直角三角形的一条直角边的边长:\n"))
y = int(input("请输入另一条直角边的边长: \n"))

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__())

最新文章

  1. Linux安装时内存如何分区的相关问题
  2. 【转】关于redis.conf的参数配置
  3. git浅谈
  4. 在ORACLE触发器里调用JAVA程序
  5. 2014 Asia AnShan Regional Contest --- HDU 5078 Osu!
  6. 抓取oschina上面的代码分享python块区下的 标题和对应URL
  7. Visual 中控制台程序如何使用MFC类库
  8. Android消息机制——时钟显示和异步处理工具类(AsyncTask)
  9. 百度静态资源(JS)公共库
  10. 安装SQL Server 2005 - 初学者系列 - 学习者系列文章
  11. 设计模式的征途—21.迭代器(Iterator)模式
  12. C语言博客作业--一二维数组。
  13. PAT1061:Dating
  14. 使用hector-slam和Kinect V1建图
  15. Codeforces Round #508 (Div. 2)
  16. Android上实现各种风格的隐藏菜单,比如左右滑动菜单、上下滑动显示隐藏菜单
  17. sublime 指定打开某文件的类型(text/plain)
  18. centos7:mysql-5.7.23安装(二进制安装)
  19. hdu 1254(两个BFS) 推箱子
  20. java入门--4110:圣诞老人的礼物-Santa Clau’s Gifts

热门文章

  1. delphi 接口
  2. vue父组件引用多个相同的子组件传值
  3. VUE--v-on修饰符
  4. Centos7允许使用密码登录
  5. Spring面试专题之aop
  6. mysql后台线程详解
  7. 景点API支持查询携程旅游门票景点详情
  8. nginx.conf 下日志host.access.log 说明
  9. 盛科(Centec)交换机 SmartConfig 特性
  10. 移动端好用的下拉加载上拉刷新插件 dropload插件