欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python2.7练习小例子(十七)

程序员文章站 2022-04-18 11:13:24
17):题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。 程序分析:关键是计算出每一项的值。 程序源代码: 以上实例输出结果为: 输出如下所示: Python3 测试实例: pytho ......

    17):题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。

    程序分析:关键是计算出每一项的值。

    程序源代码:

 

#!/usr/bin/python
# -*- coding: UTF-8 -*-

Tn = 0
Sn = []
n = int(raw_input('n = '))
a = int(raw_input('a = '))
for count in range(n):
    Tn = Tn + a
    a = a * 10
    Sn.append(Tn)
    print Tn
 
Sn = reduce(lambda x,y : x + y,Sn)
print "计算和为:",Sn

    以上实例输出结果为:

 

n = 4
a = 4
4
44
444
4444
计算和为: 4936

    

#!/usr/bin/python
# -*- coding: UTF-8 -*-

a = int(raw_input("a:"))
n = int(raw_input("n:"))
list=[]
for i in range(1,n+1):
    list.append(int("{}".format(a)*i))
s = reduce(lambda x,y:x+y, list)
print list
print "计算和为:",s

    输出如下所示:

 

a:4
n:4
[4, 44, 444, 4444]
计算和为: 4936

    Python3 测试实例:

 

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

n = int(input('n = '))
a = int(input('a = '))
sum = 0
total = 0
for i in range(n):
    sum += (10 ** i)
    total += sum * a
print(total)

    

#usr/bin/env python3
#coding:utf-8

n = int(input('请输入层数:'))
a = int(input('请输入计算数:'))
Su = 0
Tu = []
for i in range(n):
    Tu.append(int(str(a)*(i+1)))
print('创建的数列为:%s' % Tu)
Su = sum(Tu)
for i in Tu:
    Su = Su + i
print('数列的和为:%s' % Su)

    

#!/usr/bin/python
# -*- coding: UTF-8 -*-

def fadd():
    a = input("输入数字:")
    loopNum = int(input("数字循环次数:"))
    sum = 0
    strsum  =""
    for i in range(loopNum):
        sum += int(str(a)*(i+1))
        strsum += str((str(a)*(i+1))) + "+"
    strsum = strsum[:len(strsum)-1] + "=" + str(sum)
    print strsum
fadd()

    

#!/usr/bin/python
# -*- coding: UTF-8 -*-

def calculate(a,n):
    sum = 0
    for i in range(1,n+1):
        x = int(str(a)*i)
        sum+=x
    print sum
calculate(4,4)

    

#!/usr/bin/python
# -*- coding: UTF-8 -*-

n = 4
c = 4

def num(n,time):
    '拼接数字,如 n =3,time = 4 返回3333'
    l = []
    while time > 0:
        l.append(str(n))
        time -= 1
    l = ''.join(l)
    return int(l)

sum = 0
for i in range(1,c + 1):
    j= num(n,i)
    sum = sum + j

print sum

    python3 测试实例:使用递归函数生成每一项的值,并相加:

 

#!/usr/bin/env python3

def f(n,a):
    if(n==1):
        return a
    else:
        r=f(n-1,a)*10+a
        return r

n=int(input("n=\n"))
a=int(input("a=\n"))
print("")
sum=0
for i in range(1,n+1):
    print(f(i,a))
    sum=sum+f(i,a)

print("sum=",sum)

    Python3 测试案例:

 

#!/usr/bin/python3

n=input('请输入计算数:')
m=eval(input('请输入层数:'))
s=0
for i in range(1,m+1):
    a=n*i
    s+=eval(a)
print('{}'.format(s))

    

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import math

a=input("请输入a:")
n=input("请输入数字的个数:")
r = 0
for i in range(0,int(n)):
    num=0
    for j in range(0,i+1):
        num += int(a) * int(math.pow(10,j))
    r += num
print(r)

    Python3 测试:

 

#!/usr/bin/python3
# -*- coding: UTF-8 -*-

def suman(a, n):
    if n<1:    return []
    s = [a]
    m = 10**len(str(a))
    for i in range(0, n-1):
        s.append(s[i]*m + a)
    return sum(s), s

print(suman(4,5))

    Python3 下测试:

 

num=input('输入 1-10 之间的数字:')
times=int(input('次数:'))
s=0
for i in range(1,times):
    print(num*i,'+',end='')
    s+=int(num*i)
print(num*times,'=',s+int(num*times))

    Python3 下测试,检测输入是否为数字:

 

a=input('请输入一个整数:')
b=input('请输入次数:')
d=0

if str.isdigit(a)and str.isdigit(b):
    for i in range(1,int(b)+1):
        c=a*i
        d+=int(c)
    print('和为:'+str(d))
else:
    print('请重新输入!')

    Python3 测试:

 

for j in range(5):
    a = str(input("提示:请输入1~9之间的正整数:"))
    n = int(input("提示:请输入大于零的正整数:"))
    if n <= 0 or int(a) >= 10 or int(a) <= 0:
        print("请根据提示输入正确的数")       
        continue
    sum = 0
    for i in range(1, n+1):
        print(int(a*i), end = ' ')
        sum += int(a*i)
    print("这些数的总和为:%d"%sum)

    这个小例子对实际应用也是有帮助的。如果感觉不错的话,请多多点赞支持哦。。。

  原文链接:https://blog.csdn.net/luyaran/article/details/80063195