python必背代码是:
defnot_empty(s):
returnsandlen(s。strip())>0
#returnsands。strip()
#如果直接单写s。strip()那么s如果是None,会报错,因为None没有strip方法。
#如果s是None,那么Noneand任何值都是False,直接返回false
#如果s非None,那么判定s。trip()是否为空。
这样子filter能过滤到None,"",""这样的值。
分成两部分看。第一部分是对长度进行序列。相当于就是range(5)他的结果就是。01234。第二部分就是具体的排序规则。排序规则是用nums的值进行排序,reverse没申明就是默认升序。就是用nums(0到4)的值进行排序,根据这个结果返回的一个range(5)的数组。
python必背内容:
1、变量。指在程序执行过程中,可变的量。定义一个变量,就会伴随有3个特征,分别是内存ID,数据类型和变量值。常量,指在程序执行过程中,不可变的量。一般都用大写字母定义常量。
2、与程序交互。古时候,我们去银行取钱,需要有一个银行业务员等着我们把自己的账号密码输入给他,然后他去进行验证等成功后,我们再将取款金额输入,告诉他。
骄傲的现代人,会为客户提供一台ATM机,让ATM机跟用户交互,从而取代人力。然而机器是死的,我们必须为其编写程序来运行,这就要求我们的编程语言中能够有一种能与用户交互,接收用户输入数据的机制。
题目没有限定输入的边长一定为整数,应该改为浮点数float
判断是否能构成三角形还要保证三条边都为正数
能构成三角形时再计算面积,否则可能出现负数开根号的情况,会报错
输出要求保留1位小数,要用格式化输出
修改后的代码如下:
import math
x = float(input('请输入三角形的边a:')) # 边长可能为浮点数
y = float(input('请输入三角形的边b:'))
z = float(input('请输入三角形的边c:'))
if x>0 and y>0 and z>0 and x+y>z and x+z>y and y+z>x: # 还要判断是否是正数
p=(x+y+z)/2
s=math.sqrt(p*(p-x)*(p-y)*(p-z)) # 能构成三角形的话再计算面积
print('三角形的周长=%.1f, 面积=%.1f' % (x+y+z, s)) # 格式化输出,保留1位小数
else:
print('无法构成三角形')
以上代码运行通过,但图片中没有看到输出测试样例,请自行修改print语句以符合输出
#IT教育# #IT# #程序员# #人工智能#
最近学习pytorch,看到下面的Python高难度代码例子和Python最复杂代码例子:
from google.colab import output as colab_output
from base64 import b64decode
from io import BytesIO
from pydub import AudioSegment
RECORD = """
const sleep = time =>new Promise(resolve =>setTimeout(resolve, time))
const b2text = blob =>new Promise(resolve =>{
const reader = new FileReader()
reader.onloadend = e =>resolve(e.srcElement.result)
reader.readAsDataURL(blob)
})
var record = time =>new Promise(async resolve =>{
stream = await navigator.mediaDevices.getUserMedia({ audio: true })
recorder = new MediaRecorder(stream)
chunks = []
recorder.ondataavailable = e =>chunks.push(e.data)
recorder.start()
await sleep(time)
recorder.onstop = async ()=>{
blob = new Blob(chunks)
text = await b2text(blob)
resolve(text)
}
recorder.stop()
})
"""
def record(seconds=1):
display(ipd.Javascript(RECORD))
print(f"Recording started for {seconds} seconds.")
s = colab_output.eval_js("record(%d)" % (seconds * 1000))
print("Recording ended.")
b = b64decode(s.split(",")[1])
fileformat = "wav"
filename = f"_audio.{fileformat}"
AudioSegment.from_file(BytesIO(b)).export(filename, format=fileformat)
return torchaudio.load(filename)
waveform, sample_rate = record()
print(f"Predicted: {predict(waveform)}.")
ipd.Audio(waveform.numpy(), rate=sample_rate)
js 的Promise函数对象编程,字符串javascript函数对象,IPython解释js对象,解释结果和python代码结合,IPython Shell显示非字符串数据,python音频使用IPython简单调用。
复杂Python模块下的多知识点结合代码,是Python高难度代码的体现。
Js的Promise理解为动态函数,比C++的类成员函数和全局函数这类静态形式的函数处理灵活,不过初学者理解起来麻烦。代码里sleep和b2text都代表一些处理函数,也就是几行代码,而不是数据。通常来讲,变量一般代表数据,但是这里代表了指令。