python语言经典基础级案例(含源代码)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
python语言经典案例(基础级)
案例1:
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:利用while 或for 语句,条件为输入的字符不为'\n'。
实例- 使用while 循环
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import string
s = raw_input('请输入一个字符串:\n')
letters = 0
space = 0
digit = 0
others = 0
i=0
while i < len(s):
c = s[i]
i += 1
if c.isalpha():
letters += 1
elif c.isspace():
space += 1
elif c.isdigit():
digit += 1
else:
others += 1
print'char = %d,space = %d,digit = %d,others = %d' % (letters, space,digit,others)
实例- 使用for 循环
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import string
s = raw_input('请输入一个字符串:\n')
letters = 0
space = 0
digit = 0
others = 0
for c in s:
if c.isalpha():
letters += 1
elif c.isspace():
space += 1
elif c.isdigit():
digit += 1
else:
others += 1
print'char = %d,space = %d,digit = %d,others = %d' % (letters, space,digit,others)
以上实例输出结果为:
案例2:
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
程序分析:无
程序源代码:
Python 实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
tour = []
height = []
hei = 100.0# 起始高度
tim = 10# 次数
for i in range(1, tim + 1):
# 从第二次开始,落地时的距离应该是反弹高度乘以2(弹到最高点再落下)
if i == 1:
tour.append(hei)
else:
tour.append(2*hei)
hei /= 2
height.append(hei)
print('总高度:tour = {0}'.format(sum(tour)))
print('第10次反弹高度:height = {0}'.format(height[-1]))
以上实例输出结果为:
总高度:tour =299.609375
第10次反弹高度:height =0.09765625
案例3:
两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y, z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
程序源代码:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for i in range(ord('x'),ord('z') + 1):
for j in range(ord('x'),ord('z') + 1):
if i != j:
for k in range(ord('x'),ord('z') + 1):
if(i != k)and(j != k):
if(i != ord('x'))and(k != ord('x'))and (k != ord('z')):
print'order is a -- %s\t b -- %s\t c--%s' % (chr(i),chr(j),chr(k))
以上实例输出结果为:
order is a -- z b -- x c--y
案例4:
题目:打印出如下图案(菱形):
程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。
程序源代码:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from sys import stdout
for i in range(4):
for j in range(2 - i + 1):
stdout.write('')
for k in range(2 * i + 1):
stdout.write('*')
for i in range(3):
for j in range(i + 1):
stdout.write('')
for k in range(4 - 2 * i + 1): stdout.write('*')
以上实例输出结果为:
案例5: