Python练手例子(5)
25、求1+2!+3!+...+20!的和。
程序分析:此程序只是把累加变成了累乘。
#python3.7 n = 0
s = 0
t = 1
for n in range(1, 21):
t *= n
s += t
print('1! + 2! + 3! + ... + 3! + 20! = %d' % s) 结果:
1! + 2! + 3! + ... + 3! + 20! = 2561327494111820313
26、利用递归方法求5!。
程序分析:递归公式:fn=fn_1*4!
#python3.7 def fact(j):
sum = 0
if j == 0:
sum = 1
else:
sum = j * fact(j - 1)
return sum print(fact(5)) 结果:
120
27、利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
#python 3.7 def output(s, l):
if l == 0:
return
print(s[l-1])
output(s, l-1) s = input('Input a string:')
l = len(s)
output(s, l) 结果:
Input a string:opportunity
y
t
i
n
u
t
r
o
p
p
o
28、有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
#python 3.7 def age(n):
if n == 1: c = 10
else: c = age(n - 1) + 2
return c
print(age(5))
29、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
程序分析:学会分解出每一位数。
#python 3.7 x = int(input('请输入一个数:'))
a = x / 10000
b = x % 10000 / 1000
c = x % 1000 / 100
d = x % 100 / 10
e = x % 10 if a != 0:
print('5位数:', e, d , c, b, a)
elif b != 0:
print('4位数:', e, d, c, b)
elif c != 0:
print('3位数:', e, d, c)
elif d != 0:
print('2位数:', e, d)
else:
print('1位数:', e)
30、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
#python 3.7 a = int(input('请输入一个数字:\n'))
x = str(a)
flag = True
for i in range(int(len(x) / 2)):
if x[i] != x[-i - 1]:
flag = False
break
if flag:
print('%d是一个回文数!' % a)
else:
print('%d不是一个回文数!' % a)
Python练手例子(5)的更多相关文章
- Python练手例子(4)
16.一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. 程序分析:请参照程序Python 100例中的第14个例子 #py ...
- Python练手例子(10)
55.学习使用按位取反~. 程序分析:~0=1; ~1=0; (1)先使a右移4位. (2)设置一个低4位全为1,其余全为0的数.可用~(~0<<4) (3)将上面二者进行&运算. ...
- Python练手例子(3)
13.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1 ...
- Python练手例子(16)
91.时间函数举例1. #!/usr/bin/python #coding=utf-8 import time if __name__ == '__main__': #time.time()返回当前的 ...
- Python练手例子(15)
85.输入一个奇数,然后判断最少几个 9 除于该数的结果为整数. 程序分析:999999 / 13 = 76923. #!/usr/bin/python #coding=utf-8 if __name ...
- Python练手例子(14)
79.字符串排序. #python3.7 if __name__ == '__main__': str1 = input('Input string:\n') str2 = input('Input ...
- Python练手例子(13)
73.反向输出一个链表. #python3.7 if __name__ == '__main__': ptr = [] for i in range(5): num = int(input('Plea ...
- Python练手例子(12)
67.输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组. #python3.7 def inp(numbers): for i in range(6): numbers.appen ...
- Python练手例子(11)
61.打印出杨辉三角形. #python3.7 from sys import stdout if __name__ == '__main__': a = [] for i in range(10): ...
- Python练手例子(9)
49.使用lambda来创建匿名函数. #python3.7 MAXIMUM = lambda x,y : (x > y) * x + (x < y) * y MINIMUM = lamb ...
随机推荐
- 转:spring boot log4j2配置(使用log4j2.yml文件)---YAML 语言教程
转:spring boot log4j2配置(使用log4j2.yml文件) - CSDN博客http://blog.csdn.net/ClementAD/article/details/514988 ...
- uap
1.UAP 从前端到后端 详细教程 (一) 博主友好几篇相关的文章
- Windows 快捷键总结
一.日常用法 1.Win + R 运行命令窗,cmd等必备,令人进入注册表,也需要通过运行命令窗,如注册表示运行 Regedit 命令,组策略使用 gpedit.msc 命令等. 2.Win + E ...
- RequireJS - 个人小入门
quirejs : http://www.requirejs.cn/ 叶小钗 : http://www.cnblogs.com/yexiaochai/p/3214926.html app.js 展示 ...
- TCP 的那些事儿
TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面.所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获.关于TCP这个协议的细节,我还是推荐你去 ...
- 布思算法Java实现
public String multiply(String Q,String M){ char Q0 = '0'; String A = get01(Q.length(),"0") ...
- 【python】命令行神器 Click 简明笔记
全文拷贝自 命令行神器 Click 简明笔记 Click Click 是用 Python 写的一个第三方模块,用于快速创建命令行.我们知道,Python 内置了一个 Argparse 的标准库用于创建 ...
- vue-创建新项目
1.安装node,下载地址:https://nodejs.org/en/download/ 2.安装完成后打开cmd,输入node-v,出现版本信息说明安装成功 3.输入npm install -g ...
- 解码escape类型的unicode
content = Regex.Unescape(content);
- 剑指offer数组列表
一.数组 面试题3 : 找出数组中重复的数字 面试题3(二):不修改数组找出重复的数字 面试题4:二维数组的查找 面试题21:调整数组顺序使奇数位于偶数前面 面试题39:数组中出现次数超过一半的数字 ...