问:

基础题:

定义函数实现以下功能:求出 0-n 所能组成的奇数个数,
位数最多 n+1 (0<n<10),
比如键盘输入n=7,求出0-7所能组成的奇数个数

提高题:

有如下分数序列: 2/1 , 3/2 , 5/3 , 8/5 , 13/8 , 21/13...
求出这个数列的前 N 项之和,N由键盘输入

答:

基础题:

定义函数实现以下功能:求出 0-n 所能组成的奇数个数,
位数最多 n+1 (0<n<10),
比如键盘输入n=7,求出0-7所能组成的奇数个数

# 判断 0-n 之间有几个奇数
def judge_odd_num(num):
odd_num = []
for i in range(1, num + 1):
if i % 2 != 0:
odd_num.append(i) return odd_num def calc_odd_nums(num, odd_num_count):
'''
当一个数的最后一位为奇数时,那么这个数一定为奇数;
首位肯定不为0;
从该数为1位数到该数为(n+1)位数开始统计奇数的个数:
1.当只有一位数时,奇数个数为 0-n之间的奇数个数,此处以7为例,0-7之间有4个奇数;
2.当该数为两位数时,奇数个数为4*7=28, 首位有7个数的可能性,个位只有4个奇数可选;
3.当该数为三位数时,奇数个数为:4*8*7=224,首位仍然是7个数,十位可以是0-7的任意一个数,即8个数的可能性,个位依旧
以此类推。。。
:param num: 输入的数字n
:param odd_num_count: 0-n之间的奇数个数
'''
sum_odd_count = 0
for i in range(1, num+1):
if i == 1:
odd_num_count = odd_num_count
elif i == 2:
first_place = num
odd_num_count = odd_num_count * first_place
if i > 2:
odd_num_count *= num+1 sum_odd_count += odd_num_count
print('%d位数的奇数个数为%d' % (i, odd_num_count)) print('0-%s所能组成的奇数个数总和为:%d' %(num, sum_odd_count)) if __name__ == '__main__':
decimal_places = int(input("请输入数字n(1<n<10):"))
odd_num = judge_odd_num(decimal_places)
odd_num_count = len(odd_num)
calc_odd_nums(decimal_places, odd_num_count)

提高题:

有如下分数序列: 2/1 , 3/2 , 5/3 , 8/5 , 13/8 , 21/13... 
求出这个数列的前 N 项之和,N由键盘输入
def sum_fraction(n):
x, y, i, j = 1, 2, 0, 0
while i < n:
j += y/x
x, y = y, x+y
i += 1
return j n = eval(input('请输入:'))
print('{:.2f}'.format(sum_fraction(n)))

												

Python【每日一问】34的更多相关文章

  1. [python每日一练]--0012:敏感词过滤 type2

    题目链接:https://github.com/Show-Me-the-Code/show-me-the-code代码github链接:https://github.com/wjsaya/python ...

  2. Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词

    #coding:utf-8 import os,re path = 'test' files = os.listdir(path) def count_word(words): dic = {} ma ...

  3. python每日一函数 - divmod数字处理函数

    python每日一函数 - divmod数字处理函数 divmod(a,b)函数 中文说明: divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数 返回结果类型为tuple 参数: ...

  4. 每日一问:Android 消息机制,我有必要再讲一次!

    坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过. 我 17 年的 面试系列,曾写过一篇名为:Android 面试(五):探 ...

  5. 每日一问:谈谈 volatile 关键字

    这是 wanAndroid 每日一问中的一道题,下面我们来尝试解答一下. 讲讲并发专题 volatile,synchronize,CAS,happens before, lost wake up 为了 ...

  6. 每日一问:讲讲 Java 虚拟机的垃圾回收

    昨天我们用比较精简的文字讲了 Java 虚拟机结构,没看过的可以直接从这里查看: 每日一问:你了解 Java 虚拟机结构么? 今天我们必须来看看 Java 虚拟机的垃圾回收算法是怎样的.不过在开始之前 ...

  7. 每日一问:你了解 Java 虚拟机结构么?

    对于从事 C/C++ 程序员开发的小伙伴来说,在内存管理领域非常头疼,因为他们总是需要对每一个 new 操作去写配对的 delete/free 代码.而对于我们 Android 乃至 Java 程序员 ...

  8. 每日一问:LayoutParams 你知道多少?

    前面的文章中着重讲解了 View 的测量流程.其中我提到了一句非常重要的话:View 的测量匡高是由父控件的 MeasureSpec 和 View 自身的 `LayoutParams 共同决定的.我们 ...

  9. 每日一问:简述 View 的绘制流程

    Android 开发中经常需要用一些自定义 View 去满足产品和设计的脑洞,所以 View 的绘制流程至关重要.网上目前有非常多这方面的资料,但最好的方式还是直接跟着源码进行解读,每日一问系列一直追 ...

  10. python每日一练:0007题

    第 0007 题: 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. # -*- coding:utf-8 -*- import os def count ...

随机推荐

  1. Grails边做边学入门篇[1]--------大家一起来动手建立project和Domain

    近期工作比較忙,没空写博客了.我发现每周五的下午都是我最放松的时候,可能是迟延症的缘故吧...总是寄希望于周末,慢慢的.我的周末就被工作占领了. 希望大家不要有这种坏毛病.今日事,今日毕.当然我们程序 ...

  2. Python 不同对象比較大小

    万恶的源泉: Fireboo的疑问(当然 lambda 本身写的就有问题): >>> filter( lambda x: x > 2, [ 1, [ 1, 2, 3 ], 2, ...

  3. 关于The hierarchy of the type TestBeforeAdvice is inconsistent的问题

    今天准备写一个spring aop的demo,创建了TestBeforeAdvice类,该类实现了MethodBeforeAdvice接口,eclipse报了"The hierarchy o ...

  4. 安装linux系统-CentOS-6.8-x86_64-minimal.iso

    1: 2: 3:单击[Next]继续安装. 4:安装语言,选择[Chinese(Simplified)(中文(简体))]菜单,单击[Next]继续. 5:系统键盘,选择[美国英语式]菜单,单击[下一步 ...

  5. apache相关补充

    apache相关补充 sendfile机制 1)不用sendfile的传统网络传输过程: read(file, tmp_buf, len) write(socket, tmp_buf, len) 2) ...

  6. poj 1201 Intervals【差分约束+spfa】

    设s为前缀和,首先显然的条件是\[ s_{bi}-s_{ai-1}>=c \],然后隐含的是\[ s_i-s_{i-1}>=0 s_i-s_{i-1}<=1 \] 然后根据差分约束, ...

  7. Visual Studio Code 扩展工具集,记录

    编码 提高效率及校验 Auto Close Tag 自动闭合标签 Auto Rename Tag 自动更改HTML/XML标签,不需要再进行二次修改,减少50%的工作量! Path Intellise ...

  8. 【Python精华】100个Python练手小程序

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同 ...

  9. RaspberryPi cProfile使用

    使用sudo python -m cProfile -o 1.cprof your.py生成cprof文件 windows下安装snakeviz:pip install -i https://pypi ...

  10. Laravel5.1学习笔记23 Eloquent 序列化

    Eloquent: Serialization Introduction Basic Usage Hiding Attributes From JSON Appending Values To JSO ...