Flask接口签名sign原理与实例代码浅析
572
2022-09-05
#yyds干货盘点#正整数N的3次方和N次相加等值计算 - python综合运用系列(1)
以Python 3.x版本为主今天发现一个功能,挺有意思的,题目大概意思如下输入一个正整数N,比如9输出格式:9*9*9=729=73+75+77+79+81+83+85+87+89
1、知识点运用
编号 | 名称 | 说明 |
1 | for循环 | for循环的使用, |
2 | pow | 次方函数的使用,math模块,pow(9,3),9的3次方 |
3 | 数据转换 | int > str,float > str,一个print的%s输出的是字符串,所以需要数据转换,否则会报错 |
4 | 列表 | 列表截取取值 |
5 | 随机值 | 随机模块random,在指定范围获取随机值 random.randint(x,y) |
6 | 格式化输出 | '{0}*{1}*{2}={3}={4}'.format('1','2','3','4','5') |
代码如下
#!/usr/bin/python# -*- coding: utf-8 -*-import mathimport random# 输入:9# 输出:9*9*9=729=73+75+77+79+81+83+85+87+89# 关键:确定好相加的第一个值,(9-1)*9+1=8*9+1=72+1=73# 次方:输入值的3次方,输入9,计算9*9*9-1# 相加:输入值是9,那么从确定的第一个数开始+2进行9次相加# 同样的原理,输入8次,那么就8*8*8,相加8次,第一个数就是(8-1)*8+==57start_value=3end_value=20value=random.randint(start_value,end_value)text=''add_text=''value_new=0for j in range(3): value_new=math.pow(value,3) text+=str(value)+'*'text=text[:-1]+'='+str(int(value_new))+'=' # 最后一个*星号不取值first_value=(value-1)*value+1for i in range(value): text+=str(first_value+i*2)+'+' add_text+=str(first_value+i*2)+'+'text= text[:-1]add_text=add_text[:-1]print(text)# 或者如下格式化拼接字符串输出text_new='{0}*{0}*{0}={1}={2}'.format(value,int(value_new),add_text)print(text_new)
效果
2、追求Python更加简洁写法
write less do more
更简洁的语法糖
v = int(input())l = [str(i) for i in range(v*(v-1)+1,v*(v+1)+1,2)]print(f'{v}*{v}*{v}={v**3}={"+".join(l)}')
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~