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 ...
随机推荐
- Redis主从复制看这篇就够了
一.概念和作用 概念:主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主. 作用: 读写分离: 容灾恢复: 二.复制原理 slav ...
- Linux系统SSH免密登录
第一章 生成密钥 1.1 生成用户默认文件名的密钥 [root@localhost ~] ssh-keygen -t rsa # root用户下生成root用户的默认密钥 1.2 生成用户指定文件名的 ...
- nginx配置ssl证书实现https
一,环境说明 服务器系统:centos6 服务器IP地址:0.0.0.0 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名点“解析”,进入解 ...
- 一问带你区分清楚Authentication,Authorization以及Cookie、Session、Token
上周写了一个 适合初学者入门 Spring Security With JWT 的 Demo .Demo 地址:https://github.com/Snailclimb/spring-securit ...
- 基于注解的SpringAOP源码解析(二)
在上篇文章 中我们搭建了一个阅读源码的demo工程,然后简单介绍了一下@EnableAspectJAutoProxy注解,这个注解最重要的功能就是为向Spring中注入了一个beanAnnotatio ...
- QGraphicsItem鼠标旋转控制研究
在QT场景视图中2D图形项Item的基类为QGraphicsItem,如果我们需要自定义Item则可以从其派生,然后重写boundingRect以及paint虚函数实现图形项的外边界定义以及内容绘制工 ...
- Ubuntu18.04 Pycharm下ModuleNotFoundError: No module named 'deeplab'
1.根据https://www.cnblogs.com/zmbreathing/p/deeplab_v3plus.html在终端中成功运行deeplab的test文件后,在pycharm中出现问题: ...
- OpenSSL生成私钥和公钥
1.生成私钥 -- 生成 RSA 私钥(传统格式的) openssl genrsa -out rsa_private_key.pem 1024 -- 将传统格式的私钥转换成 PKCS#8 格式的(JA ...
- windows定期删除文件
:: 定时清理客户端上传导入包文件 @echo off title 清理客户端上传导入包文件 :: 导入包文件目录 set log_dir="F:\http\uploadzip\web\ht ...
- The run destination "设备名称" is not valid for Running the scheme '项目名称'.
之前运行好好的,怎么会突然出现这个呢?开始百度发现都解决不了. 最后发现,这是XCode的一个bug.遇到这种情况只要Command+Q,退去XCode,然后再重新登入即可.