# python3–练习题

1.程序分析：利用while语句,条件为输入的字符不为’\n’.

```#用isdigit函数判断是否数字
#用isalpha判断是否字母
#isalnum判断是否数字和字母的组合```

```#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 4/3/2018 11:50 AM
# @Author  : zhdya
# @File    : demon5.py

i_str = 0
sum = 0
i_num = 0
i_spa = 0
i_spe = 0

while 1:
aa = input("pls input sth you like: ")
if aa == "\\n":
break
else:
for i in aa:
if i.isalpha():
i_str += 1
elif i.isdigit():
i_num += 1
elif i.isspace():
i_spa += 1
else :
i_spe += 1
print("the number of charcter is %d" %i_str)
print("the number of number is %d" %i_num)
print("the number of space is %d" %i_spa)
print("the number of special worlds is %d" %i_spe)```

```注意判断：
- 如果用户输入非法字符，需要提示```
```#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 4/3/2018 11:50 AM
# @Author  : zhdya
# @File    : demon5.py

def jc(n):
sum = 1
if n == 0:
return sum
else:
for i in range(1, int(n)+1):
sum *= i
return sum

sumt = 0
number = input("pls input a number: ")
if number.isdigit():
for i in range(0, int(number)+1):
sumt += jc(i)
print("the {0} factorial is {1}".format(number, sumt))
elif number.isalpha():
print("pls just input a number!!")
else:
print("pls just input a number!!")```

```#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 4/11/2018 9:16 PM
# @Author  : zhdyaa
# @File    : demon4.py

'''
## ABCD乘9=DCBA，A=? B=? C=? D=?

## 思路：
## A肯定不能等于2 一旦A等于2 就会出现5位数，不符合要求，所以A只能等于1，从而D等于9。
'''

for A in [1]:
for B in range(0,10):
for C in range(0,10):
for D in [9]:
if (A * 1000 + B * 100 + C * 10 + D) * 9 == (D * 1000 + C * 100 + B * 10 + A):
print("A is {0}".format(A))
print("B is {0}".format(B))
print("C is {0}".format(C))
print("D is {0}".format(D))
print("{0}{1}{2}{3}*9={3}{2}{1}{0}".format(A,B,C,D))```

```'''
## 九宫格
##        -------------
##        | A | B | C |
##        | D | E | F |
##        | G | H | I |
##        -------------
## 思路：
##        A + B + C = A + D + G = G + H + I = C + F + I = A + E + I = G + E + C
##        9个数字均为唯一的；当A = 1；其它字母就不可以为1；同理去筛选已经被占用的数字
##        所有的横竖斜线加起来都等于15
'''
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 == A + D + G == G + H + I == C + F + I == A + E + I == G + E + C == 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```

### python的编码

#### 编码

```decode     		解码
encode   		编码

decode("utf-8")  解码  ->       unicode       ->  encode("gbk")  编码```

```s = "哈哈哈"
print(s)```

python默认将代码文件内容当作asci编码处理，但asci编码中不存在中文，因此抛出异常。

##### 解决问题：

`#-*- coding:utf-8 -*-`

#### 控制台编码

```s = "哈哈哈"
m = s.decode("utf-8")
print(type(m))
print(m)```

0 条评论

• ### Python基础练习100题 ( 11

这十道题的代码在我的github上，如果大家想看一下每道题的输出结果，可以点击以下链接下载：

• ### Python练手例子（7）

程序分析：可以利用选择法，即从后9个比较过程中，选择一个最小的与第一个元素交换，下次类推，即用第二个元素与后8个进行比较，并进行交换。

• ### python练习集100题(21-40)

题目21：两个乒乓球队进行比赛，各出3人。甲队为a，b，c三人，乙队为x，y，z三人。以抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比，c说他不和x...

• ### FME小案例分享-编顺序号

最近有朋友咨询我，怎么对下图中的数据进行编号？怎么将最右边一列的后面加上一个顺序号，把那串0换成顺序号。

• ### python学习笔记（第一章）

笔记；因为Python不像C语言那样的强结构语言，所以我学完C就开始学Python，脑袋嗡嗡的，不过还好，它的赋值很不一般，像C语言第一条应该是先申请一个变量然...

• ### 社交系统 ThinkSNS+ V2.2-V2.3 版本升级教程

本升级指南仅适用于  2.2  版本升级至  2.3  版本，如果你并非 2.2 版本，请查看其他升级指南，Plus 程序不允许跨版本升级！

• ### 两会聚焦 | “一机游”如何成为数字文旅时代的“香饽饽”

? 据不完全统计，截止2019年2月底，全国已经有11个地方和政府明确发文规划或已经启动了“一机游”项目。 去北京爬长城，去云南游丽江，去西藏看布达拉宫，去黑...

### 老七Linux

FCLASSROOM运维开发

FCLASSROOM · 运维开发 (已认证)