当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2022-06-15
以Python 3.x版本为主今天发现一个功能,挺有意思的,题目大概意思如下 输入一个正整数N,比如9 输出格式:9*9*9=729=73+75+77+79+81+83+85+87+89 1、知识点运用 编号 名称 说明 1 for循环 for循环

以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 math
import 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+==57

start_value=3
end_value=20
value=random.randint(start_value,end_value)
text=''
add_text=''
value_new=0
for 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+1
for 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)
  • 效果

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

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

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)}')


【文章原创作者:ddos攻击防御 http://www.558idc.com/aqt.html欢迎留下您的宝贵建议】
上一篇:Django 视图和模板1.4
下一篇:没有了
网友评论