五、python的练习题
2024-09-04 12:01:08
1、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/6/5 17:53
# @Author : chenjiahe
# @File : count.py #用isdigit函数判断是否数字
#用isalpha判断是否字母
#用isalnum判断是否数字和字母的组合
while 1:
strings = input("Please input a strings(quit will exit): ")
alpha, dig, space, other = 0, 0, 0, 0
if strings.strip() == "quit":
exit(1) for i in strings:
if i.isalpha():
alpha += 1
elif i.isdigit():
dig += 1
elif i.isspace():
space += 1
else:
other += 1
print("alpha:{0}".format(alpha))
print("dig:{0}".format(dig))
print("space:{0}".format(space))
print("other:{0}".format(other))
执行结果
2、99乘法表
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/6/5 18:33
# @Author : chenjiahe
# @File : 9*9.py for a in range(1,10):
for b in range(1,a+1):
print("{0} x {1} = {2} ".format(a,b,a*b),end=' ') print()
结果:
3、九宫格(数独)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/6/6 16:11
# @Author : chenjiahe
# @File : 九宫格.py
'''
九宫格
-------------
| A | B | C |
| D | E | F |
| G | H | I |
-------------
所有的横竖斜线加起来都等于15
''' number = [1,2,3,4,5,6,7,8,9]
count = 1
for A in number:
a = number.copy()
a.remove(A)
for B in a:
b = a.copy()
b.remove(B)
for C in b:
c = b.copy()
c.remove(C)
for D in c:
d = c.copy()
d.remove(D)
for E in d:
e = d.copy()
e.remove(E)
for F in e:
f = e.copy()
f.remove(F)
for G in f:
g = f.copy()
g.remove(G)
for H in g:
h = g.copy()
h.remove(H)
for I in h:
if((A+B+C == D+E+F == G+H+I == A+D+G == B+E+H == C+F+I ==A+E+I == C+E+G == 15)):
print('''
方法{9}
-------------------
| {0} | {1} | {2} |
| {3} | {4} | {5} |
| {6} | {7} | {8} |
-------------------
'''.format(A,B,C,D,E,F,G,H,I,count))
count += 1
结果:
4、ABCD乘九=DCBA,A=? B=? C=? D=?
#ABCD乘九=DCBA,A=? B=? C=? D=? 答案: a=1,b=0,c=8,d=9 1089*9=9801 for a in range(1,10):
for b in range(0,10):
for c in range(0,10):
for d in range(1,10):
if ((a*1000 + b*100 + c*10 +d)*9 == (d*1000 +c*100 +b*10 + a)):
print("a = {0}".format(a))
print("b = {0}".format(b))
print("c = {0}".format(c))
print("d = {0}".format(d))
print("{0}{1}{2}{3}x9={3}{2}{1}{0}".format(a,b,c,d))
结果:
5、阶乘
#!/usr/bin/env python
# -*- coding: utf- -*-
# @Time : // :
# @Author : chenjiahe
# @File : 阶乘.py '''
计算n个阶乘之和
! + ! + ! …… + n!
n! = n*(n-)*(n-)*(n-)……*
''' #计算单个阶乘
def jc(n):
result =
if n == :
return result
else:
for i in range(,n+):
result *= i
return result #计算阶乘之和 n = input("计算n的阶乘之和:")
count =
for i in range(,int(n)+):
count += jc(i)
print("{0}的阶乘之和是{1}".format(n,count))
结果:
6、面试题
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/6/7 14:07
# @Author : chenjiahe
# @File : 面试题.py '''
用python完成转换序列的字符,有一串字符串,包含只包含四个字母,GCTA,现在需要进行以下转换:
*'G' ->'C'
*'C' ->'G'
*'T' ->'A'
*'A' ->'U'
如果序列中有不包含这四个字母的字符,就返回空。举例:
1.'ACGTGGTCTTAA' -> 'UGCACCAGAAUU'
2.'ACGTXXXCTTAA' -> ''
''' while 1:
string1 = input("Please input a string only with 'G' 'C' 'T' 'A': ")
string2 = ''
length1 = len(string1)
for i in range(0,length1):
if ((string1[i] == 'G')):
string2 = string2 + 'C'
elif ((string1[i] == 'C')):
string2 = string2 + 'G'
elif ((string1[i] == 'T')):
string2 = string2 + 'A'
elif ((string1[i] == 'A')):
string2 = string2 + 'U'
else:
print(' ')
exit(1)
print("{0}".format(string2))
结果:
最新文章
- 重温Http协议--请求报文和响应报文
- Windows安装MySQL5.7.17
- sphinx教程
- 帮助你实现漂亮界面的14套免费的 HTML/CSS 源码
- 控件(文本类): AutoSuggestBox
- Python开发入门与实战4-模板页面
- centos6.5 ssh安全优化,修改默认端口名,禁止root远程登录
- 精妙无比 8款HTML5动画实例及源码
- java事务管理(二)
- js hash字符串转成json
- Ansible好像很好玩的样子哟
- css代码实现
- 2020考研-必须了解的干货";极限微分和你说的悄悄话";
- day 24-1 继承
- elasticsearch目录
- ondaHTTPError: HTTP 000 CONNECTION FAILED for url
- Spring boot 将配置文件属性注入到一个bean中
- 手动安装ettercap的过程
- while 循环居然可以用else
- 分页插件 PageHelper