未加星标

Python练习题 013:求解a+aa+aaa……

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二04 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

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

这题倒也不难,实际上 a+aa+aaa+aa...a 可以转化为 (a * 10**0) + (a * 10**1) + (a * 10**2)…… 进而转化为 a * (10**0 + 10**1 + 10**2 ……),所以用两个 for 循环就搞定了。

注意:第1个 for 循环,range()得从1开始计数,这样子第2个 for 循环一开始才能至少循环一次(如果 i = 0,那么range(i) 就循环不起来了。

代码如下:

a = int(input('请输入数字 a:')) count = int(input('请输入几个数相加:')) res = 0 #初始化最终求解 for i in range(1, count+1): #循环次数与输入的值一样,但从1开始循环 t = 0 #临时用的变量 for j in range(i): t = t + 10**j #先计算 10**0 + 10**1 + ... + 10**j res = res + (a*t) #再计算 a * t print(res)

输出结果如下:

请输入数字 a:5

请输入几个数相加:4

6170

++++++++++++++++++++++++++++++++++++++

题目出处: 编程语言入门经典100例【Python版】

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

主题: Python变量
分页:12
转载请注明
本文标题:Python练习题 013:求解a+aa+aaa……
本站链接:http://www.codesec.net/view/483046.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(41)