Python学习_06 习题练习
2018-04-10
- 1、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数
代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018\4\10 0010 20:31
# @Author : xiexiaolong
# @File : 0410.py
'''
输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数
'''
while 1:
strings = input("Please input a string(quit will be exit):")
alpha, dig, space, other = 0, 0, 0, 0
if strings.strip()=="quit":
exit(1)
for i in strings:
if i.isdigit():
dig += 1
elif i.isspace():
space += 1
elif i.isalpha():
alpha += 1
else:
other += 1
print("alpha = {0}".format(alpha))
print("dig = {0}".format(dig))
print("space = {0}".format(space))
print("other = {0}".format(other))
结果:
D:\python\venv\Scripts\python.exe D:/python/0410.py
Please input a string(quit will be exit):1 2 3 4 !@#$ sfsssssff ddddd
alpha = 14
dig = 4
space = 7
other = 4
Please input a string(quit will be exit):quit
Process finished with exit code 1
- 2、ABCD乘9等于DCBA 求A = ? B = ? C=? D=?
代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018\4\10 0010 20:50
# @Author : xiexiaolong
# @File : 0410-2.py
##ABCD乘9等于DCBA A = ? B = ? C=? D=?
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 ((1000*A + 100*B + 10*C +D)*9 == (1000*D + 100*C + 10* B +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}*9={4}{5}{6}{7}".format(A,B,C,D,D,C,B,A))
结果:
D:\python\venv\Scripts\python.exe D:/python/0410-2.py
A = 1
B = 0
C = 8
D = 9
1089*9=9801
Process finished with exit code 0
- 3、九宫格
代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018\4\10 0010 21:04
# @Author : xiexiaolong
# @File : 0410-3.py
'''
九宫格
---------------
| A | B | C |
| D | E | F |
| G | H | I |
---------------
所有的横竖斜线加起来等于15
A : 1-9
B : 1-9 除A
C : 1-9 除A,B
D : 1-9 除A,B,C
'''
number= list()
for i in range(1,10):
number.append(i)
print(number)
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
结果如下:
D:\python\venv\Scripts\python.exe D:/python/0410-3.py
[1, 2, 3, 4, 5, 6, 7, 8, 9]
第1种方法:
---------------
| 2 | 7 | 6 |
| 9 | 5 | 1 |
| 4 | 3 | 8 |
---------------
第2种方法:
---------------
| 2 | 9 | 4 |
| 7 | 5 | 3 |
| 6 | 1 | 8 |
---------------
第3种方法:
---------------
| 4 | 3 | 8 |
| 9 | 5 | 1 |
| 2 | 7 | 6 |
---------------
第4种方法:
---------------
| 4 | 9 | 2 |
| 3 | 5 | 7 |
| 8 | 1 | 6 |
---------------
第5种方法:
---------------
| 6 | 1 | 8 |
| 7 | 5 | 3 |
| 2 | 9 | 4 |
---------------
第6种方法:
---------------
| 6 | 7 | 2 |
| 1 | 5 | 9 |
| 8 | 3 | 4 |
---------------
第7种方法:
---------------
| 8 | 1 | 6 |
| 3 | 5 | 7 |
| 4 | 9 | 2 |
---------------
第8种方法:
---------------
| 8 | 3 | 4 |
| 1 | 5 | 9 |
| 6 | 7 | 2 |
---------------
Process finished with exit code 0