您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > python语言经典基础级案例(含源代码)
python语言经典案例(基础级)案例1:题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。程序分析:利用while或for语句,条件为输入的字符不为'\n'。实例-使用while循环#!/usr/bin/python#-*-coding:UTF-8-*-importstrings=raw_input('请输入一个字符串:\n')letters=0space=0digit=0others=0i=0whileilen(s):c=s[i]i+=1ifc.isalpha():letters+=1elifc.isspace():space+=1elifc.isdigit():digit+=1else:others+=1print'char=%d,space=%d,digit=%d,others=%d'%(letters,space,digit,others)实例-使用for循环#!/usr/bin/python#-*-coding:UTF-8-*-importstrings=raw_input('请输入一个字符串:\n')letters=0space=0digit=0others=0forcins:ifc.isalpha():letters+=1elifc.isspace():space+=1elifc.isdigit():digit+=1else:others+=1print'char=%d,space=%d,digit=%d,others=%d'%(letters,space,digit,others)以上实例输出结果为:请输入一个字符串:123runoobckdf235*(dflchar=13,space=2,digit=6,others=2案例2:题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?程序分析:无程序源代码:Python实例#!/usr/bin/python#-*-coding:UTF-8-*-tour=[]height=[]hei=100.0#起始高度tim=10#次数foriinrange(1,tim+1):#从第二次开始,落地时的距离应该是反弹高度乘以2(弹到最高点再落下)ifi==1:tour.append(hei)else:tour.append(2*hei)hei/=2height.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-*-foriinrange(ord('x'),ord('z')+1):forjinrange(ord('x'),ord('z')+1):ifi!=j:forkinrange(ord('x'),ord('z')+1):if(i!=k)and(j!=k):if(i!=ord('x'))and(k!=ord('x'))and(k!=ord('z')):print'orderisa--%s\tb--%s\tc--%s'%(chr(i),chr(j),chr(k))以上实例输出结果为:orderisa--zb--xc--y案例4:题目:打印出如下图案(菱形):*************************程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-fromsysimportstdoutforiinrange(4):forjinrange(2-i+1):stdout.write('')forkinrange(2*i+1):stdout.write('*')printforiinrange(3):forjinrange(i+1):stdout.write('')forkinrange(4-2*i+1):stdout.write('*')print以上实例输出结果为:*************************案例5:题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-if__name__=='__main__':#方法一:0作为加入数字的占位符a=[1,4,6,9,13,16,19,28,40,100,0]print'原始列表:'foriinrange(len(a)):printa[i],number=int(raw_input(\n插入一个数字:\n))end=a[9]ifnumberend:a[10]=numberelse:foriinrange(10):ifa[i]number:temp1=a[i]a[i]=numberforjinrange(i+1,11):temp2=a[j]a[j]=temp1temp1=temp2breakprint'排序后列表:'foriinrange(11):printa[i],以上实例输出结果为:原始列表:146913161928401000插入一个数字:7排序后列表:146791316192840100
本文标题:python语言经典基础级案例(含源代码)
链接地址:https://www.777doc.com/doc-4815819 .html