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 ...
随机推荐
- SpringBoot 整合MyBatis 统一配置bean的别名
所谓别名, 就是在mappper.xml配置文件中像什么resultType="xxx" 不需要写全限定类名, 只需要写类名即可. 配置方式有两种: 1. 在 applicatio ...
- 自定义Robotframework,Appium的一个关键字(用于点击目标图片,用于Appium无法识别的一些图片元素)
Appium无法识别的一些图片元素,必须先通过图片找坐标,进而通过点击坐标解决问题. 1.先在terminer运行安装命令: pip install robotframework-appiumlib ...
- 开关VoLTE流程分析(二)
AT指令,暂未发现发送AT请求的frameworks接口,通过打印信息总结AT指令: AT+EIMSVOICE: Enable/Disable IMS Voice Capability+EIMSVOI ...
- Hybris Storefront里产品图片显示不出来的分析方法
在Hybris Backoffice里新建一个product,维护了一些图片信息,然而在Storefront上进行搜索时,无论结果列表,还是产品明细页面里,都没有对应的图片可以显示. 我的排查方法是, ...
- 使用Fiddler监听java HttpURLConnection请求
使用Fiddler监听java HttpURLConnection请求
- LINUX开启SAMBA服务
samba,用于网络文件共享,类似于nfs, samba多用于win和linux之间 linux之间多用nfs c/s架构 smb协议 samba主要是两个服务,核心启动服务SMB,监听139TCP端 ...
- 160--Intersection Of Two Linked List
public class IntersectionOfTwoLinkedList { /* 解法一:暴力遍历求交点. 时间复杂度:O(m*n) 空间复杂度:O(1) */ public ListNod ...
- hexo 搜索功能
搜索功能真心好用,当文章多起来的时候,标签提供的作用已经很少了,只能简单索引,搜索却能精确查找,这里我用的依旧是最简单的本地站内搜索. 安装插件 npm install hexo-generator- ...
- vue-router路由高亮效果
审查代码,查看激活类名 (1)设置激活类名样式 (2)也可以在路由文件里配置激活类名的别名 (3)配置别名后再次审查,如下所示 此时可以直接配置active类名样式即可 此时便可以实现路由高亮效果 .
- CEfSharp下载文件 弹出保存框,实现 IDownloadHandler 接口
上节讲了如何将CefSharp集成到C#中,但集成后将web界面链接进ChromiumWebBrowser后,但web界面上下载附件的功能不好使咯. 百度了半天还是没搞定,只能去看官网的Excampl ...