#yyds干货盘点#正整数N的3次方和N次相加等值计算 - python综合运用系列(1)

网友投稿 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小时内删除侵权内容。

上一篇:Django 视图和模板1.4(django是前端还是后端)
下一篇:HttpMessageConverter报文信息转换器的深入讲解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~