例如:2+22+222+2222+22222(此时共有5个数字相加),这里具体几个数字由键盘控制

方法一:普通做法

 a = int(input("计算要加的数(1-9之间数):"))
count = int(input("总共要加多少次:"))
sumall = 0 #c初始化最终所求的和
for i in range(1,count+1):
s = 0 #临时用的变量
for j in range(i):
s = s + 10 ** j #先计算10**0
sumall = sumall + (a * s) #再计算a*s
print(sumall)

执行结果:

计算要加的数(1-9之间数):2
总共要加多少次:3
2
24
246

进阶版,起始就是利用了函数

 a = int(input("计算要加的数(1-9之间数):"))
list1 = [a]
count = int(input("总共要加多少次:"))
sumall = 0
def sum_one(a,count):
for i in range(1,count):
new_a = list1[-1] + a*(10**i)
list1.append(new_a)
return list1
print(sum_one(a,count)) for i in list1:
sumall += i
print(sumall)

执行结果:

计算要加的数(1-9之间数):2
总共要加多少次:2
[2, 22]
24

再来改下:

 from functools import reduce   #python3的reduce内置函数使用时必须导入

 a = int(input("计算要加的数(1-9之间数):"))
list1 = [a]
count = int(input("总共要加多少次:"))
sumall = 0
def sum_one(a,count):
for i in range(1,count):
new_a = list1[-1] + a*(10**i)
list1.append(new_a)
return list1
print(sum_one(a,count)) sumall = reduce(lambda arg1, arg2: arg1 + arg2, list1)
print(sumall)

执行结果:

计算要加的数(1-9之间数):2
总共要加多少次:2
[2, 22]
24

方法二:递归

 a = int(input("计算要加的数(1-9之间数):"))
count = int(input("总共要加多少次:"))
sumall = 0
def sum_one(a,count):
count1 = count - 1
if count == 1:
return a
else:
return sum_one(a,count1) + a *(10**(count1))
print("第{}的结果是{}".format(count,sum_one(a,count)))

执行结果:

计算要加的数(1-9之间数):2
总共要加多少次:5
第5的结果是22222

练习十八:求这样的一组数据和,s=a+aa+aaa+aaaa+aa...a,其中a为一个数字的更多相关文章

  1. 求S=a+aa+aaa+aaaa+aa...a的值

    问题描述:求S=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字,由输入a(1 <= a <= 9)表示,相加的元素个数由输入b(b<= 1000)表示. 这个算法的优 ...

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

    package com.lw.HomeWork1;//包名 2 import java.util.Scanner; public class Demo18 { /** * @param args */ ...

  3. 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

    import java.util.Scanner; /** * 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字. * 2+22+222+2222+22222(此时共有5个数 ...

  4. 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

    一.第一种写法 package com.pb.demo1; import java.util.Scanner; /** * 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字. ...

  5. 8 求s=a+aa+aaa+aaaa+aa...a的值

    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字. * 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制.程序分析:关键是计算出每一项的 ...

  6. 【编程小题目7】求s=a+aa+aaa+aaaa+aa...a的值

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

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

    代码: package com.liron.p1; import java.io.IOException; import java.util.Scanner; /** * 求s=a+aa+aaa+aa ...

  8. 代码实现:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字

    import java.util.Scanner; /*题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字. 例如2+22+222+2222+22222(此时共有5个数相加), ...

  9. 【程序18】求s=a+aa+aaa+aaaa+aa...a的值

    求s=a+aa+aaa+aaaa+aa-a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制. 知识点:在Python 3里,reduce( ...

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

    day11 --------------------------------------------------------------- 实例018:复读机相加 题目 求s=a+aa+aaa+aaa ...

随机推荐

  1. oop的方式来操纵时间

    减少return 减少传参. 主要是在调用上比以前强大很多,以前很怕操作时间,在一堆函数中传来传去.这个调用爽. class DatetimeConverter: DATETIME_FORMATTER ...

  2. Zend Server 安装与配置图文教程

    Zend Server是一款专业的PHP Web开发应用服务器,一些初次接触并使用此程序的朋友可能不太了解安装方法,本文为您提供了Zend Server 安装与配置图文教程,欢迎大家阅读,并提出自己的 ...

  3. JConsole远程监控配置

    首先,看本机(Windows)安装了JRE没 Win > CMD 打开命令窗口 如有安装,则会显示以下版本信息:若没有显示,就安装吧 C:\Users\Administrator>java ...

  4. [HDU1754]I Hate It线段树裸题

    http://acm.hdu.edu.cn/showproblem.php?pid=1754 解题关键:刚开始死活超时,最后发现竟然是ch,和t1.t2每次循环都定义的锅,以后养成建全局变量的习惯. ...

  5. Learning Python 008 正则表达式-003 sub()方法

    Python 正则表达式 - sub()方法 sub()方法 sub()方法:替换符合规律的内容,返回替换的值 # -?- coding: utf-8 -?- import re secret_cod ...

  6. hadoop job 重要性能参数

    name 说明 mapred.task.profile 是否对任务进行profiling,调用java内置的profile功能,打出相关性能信息 mapred.task.profile.{maps|r ...

  7. Python通过调用windows命令行处理sam文件

    Python通过调用windows命令行处理sam文件 以samtools软件为例 一.下载或者索取得到windows版本的samtools软件,解压后如下: 进入文件内部,有如下几个文件: 二.将s ...

  8. JAVA之J2EE学习路线

    摘自:http://blog.csdn.net/hsc456/article/details/51970559   历经2,3个月,终于学完了J2EE的方方面面,虽然还是一知半解,好歹也算是整条路都走 ...

  9. servlet与filter的加载顺序详解

     项目:3个filter,3个servlet,匹配的url路径/hello. 情况1:servlet没加<load-on-startup></load-on-startup>情 ...

  10. Java异常处理的10个最佳实践

    本文作者: ImportNew - 挖坑的张师傅 未经许可,禁止转载! 异常处理在编写健壮的 Java 应用中扮演着非常重要的角色.异常处理并不是功能性需求,它需要优雅地处理任何错误情况,比如资源不可 ...