Python【每日一问】33
问:
【基础题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__())
Python【每日一问】33的更多相关文章
- [python每日一练]--0012:敏感词过滤 type2
题目链接:https://github.com/Show-Me-the-Code/show-me-the-code代码github链接:https://github.com/wjsaya/python ...
- Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词
#coding:utf-8 import os,re path = 'test' files = os.listdir(path) def count_word(words): dic = {} ma ...
- python每日一函数 - divmod数字处理函数
python每日一函数 - divmod数字处理函数 divmod(a,b)函数 中文说明: divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数 返回结果类型为tuple 参数: ...
- 每日一问:Android 消息机制,我有必要再讲一次!
坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过. 我 17 年的 面试系列,曾写过一篇名为:Android 面试(五):探 ...
- 每日一问:谈谈 volatile 关键字
这是 wanAndroid 每日一问中的一道题,下面我们来尝试解答一下. 讲讲并发专题 volatile,synchronize,CAS,happens before, lost wake up 为了 ...
- 每日一问:讲讲 Java 虚拟机的垃圾回收
昨天我们用比较精简的文字讲了 Java 虚拟机结构,没看过的可以直接从这里查看: 每日一问:你了解 Java 虚拟机结构么? 今天我们必须来看看 Java 虚拟机的垃圾回收算法是怎样的.不过在开始之前 ...
- 每日一问:你了解 Java 虚拟机结构么?
对于从事 C/C++ 程序员开发的小伙伴来说,在内存管理领域非常头疼,因为他们总是需要对每一个 new 操作去写配对的 delete/free 代码.而对于我们 Android 乃至 Java 程序员 ...
- 每日一问:LayoutParams 你知道多少?
前面的文章中着重讲解了 View 的测量流程.其中我提到了一句非常重要的话:View 的测量匡高是由父控件的 MeasureSpec 和 View 自身的 `LayoutParams 共同决定的.我们 ...
- 每日一问:简述 View 的绘制流程
Android 开发中经常需要用一些自定义 View 去满足产品和设计的脑洞,所以 View 的绘制流程至关重要.网上目前有非常多这方面的资料,但最好的方式还是直接跟着源码进行解读,每日一问系列一直追 ...
- python每日一练:0007题
第 0007 题: 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. # -*- coding:utf-8 -*- import os def count ...
随机推荐
- Exceptionless - 本地搭建
搭建环境:Windows 10 参与文档:https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting 运行环境: .NET 4.6 ...
- C#安全类型转换基于convert
using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Globalization; n ...
- Power BI连接Oracle的注意事项
开始 Power BI 连接Oracle需要安装对应位数的ODAC,这个过程中有几个点要注意. ODAC 12c.x 版本(32.64),在安装时要将GAC的勾搭上.否则打开Power BI时会提示找 ...
- Git 快速极简图文教程 第一篇
Git简介 Git 是目前使用最广泛,最著名的工具.据了解,目前绝大部分互联网公司都已经全部切入到git作为版本管理工具,尤其是bat等头部公司,这是一个标准的技能. Git 最早是有linux之父, ...
- centos7 配置nginx vim语法高亮
看了Nginx核心知识100讲,按照他的做法,没有配置成功,可以使用下面的方法: 下载nginx源码,http://nginx.org/en/download.html 这里下载的是:nginx-1. ...
- Javascript屏蔽Backspace回退页面
允许对输入框密码框等控件删除字符,但是不允许页面进行回退 <html lang="en" xmlns="http://www.w3.org/1999/xhtml&q ...
- 如何让SQL语句不执行默认排序,而是按照in语句的顺序返回结果
Oracle: ')order by instr('111,222,333,444,555,666',order_id); Mysql: ') order by instr(',111,222,333 ...
- Vue.js项目实战-打造线上商城
首先上一下完成后的效果: 首页: 商品详情页: 购物车页(其实还有个订单页,只是和购物车页基本类似,所以就不截图啦): 开始项目: 由于涉及的是前后端分离,所以我们的后台数据就模拟存储于浏览器端(co ...
- Promise 封装 ajax
Promise 封装ajax 成链式结构: var url = 'http'; function(method, url) { return new Promise(function(res, ret ...
- VS2015秘钥激活
点击软件菜单栏的"帮助",点击"注册产品",点击"使用产品密钥解锁",附送产品密钥: 专业版:HMGNV-WCYXV-X7G9W-YCX63 ...