练习十八:求这样的一组数据和,s=a+aa+aaa+aaaa+aa...a,其中a为一个数字
例如: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为一个数字的更多相关文章
- 求S=a+aa+aaa+aaaa+aa...a的值
问题描述:求S=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字,由输入a(1 <= a <= 9)表示,相加的元素个数由输入b(b<= 1000)表示. 这个算法的优 ...
- 求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 */ ...
- 求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个数 ...
- 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
一.第一种写法 package com.pb.demo1; import java.util.Scanner; /** * 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字. ...
- 8 求s=a+aa+aaa+aaaa+aa...a的值
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字. * 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制.程序分析:关键是计算出每一项的 ...
- 【编程小题目7】求s=a+aa+aaa+aaaa+aa...a的值
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制 #include <iostr ...
- 求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 ...
- 代码实现:求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个数相加), ...
- 【程序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( ...
- python基础练习题(题目 求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制)
day11 --------------------------------------------------------------- 实例018:复读机相加 题目 求s=a+aa+aaa+aaa ...
随机推荐
- JAVA JDBC 读取配置文件链接数据库(oracle)
----db.properties-------- dbDriver = oracle.jdbc.driver.OracleDriverurl = jdbc:oracle:thin:@192.168. ...
- [转]CSS3 Filter的十种特效
最近到处看到有人在说CSS3的filter一直没有时间自己去测试这效果.今天终于抽出时间学习这个CSS3的Filter.不整不知道呀,一整才让我感到吃惊,太强大了.大家先来看个效果吧: 我想光看上面的 ...
- docker异常处理
Error running DeleteDevice dm_task_run failed重启docker即可 Error starting daemon: error initializing gr ...
- MYSQL主从复制配置遇到的问题
在进行配置从服务器时遇到的错误. mysql> change master to master_host='192.168.136.129',master_user='repl',master_ ...
- python 基础 进程与线程
多进程 使用multipprocessing模块创建多进程 multiprocessing模块提供了一个Process类来描述一个进程对象.创建子进程时,需要传入一个执行函数和函数的参数.用start ...
- win10系统-javac不是内部或外部命令
给笔记本装了一个ssd,上午装的系统,重新搞jdk,设置JAVA_HOME之后,cmd运行javac报 “javac不是内部或外部命令”各种懵逼,试了好几次才发现Path路径里面不能用%JAVA_HO ...
- 项目积累demo-01
1 搭建Spring-Boot项目 在这里我使用intellij新建spring boot工程: 点击next; 输入Group以及artifact之后.点击next.之后点击web.接着finish ...
- hbase-0.98.1-cdh5.1.0伪分布式安装
分三步: 1. 添加环境变量 2.编辑hbase-env.sh文件 3.编辑hbase-site.xml 文件 前提条件是安装好hadoop,下面展开说明 1. 添加环境变量 export HBASE ...
- java的大小端和转换
一直以为大小端针对的bit的顺序,今天才知道:大小端的分度值是 byte,即每一个byte都是按照正常顺序,但是byte组装成一个int 或者是 long等时每个byte的摆放位置不同. 测试代码: ...
- 14. CTF综合靶机渗透(七)
靶机说明 NinevehV0.3.7z是一个难度为初级到中级的BooT2Root/CTF挑战. VM虚机配置有静态IP地址(192.168.0.150) 目标 Boot to root:获得root权 ...