Python99道经典练习题答案6195.pdf

上传人:得****3 文档编号:79344824 上传时间:2023-03-21 格式:PDF 页数:74 大小:1.80MB
返回 下载 相关 举报
Python99道经典练习题答案6195.pdf_第1页
第1页 / 共74页
Python99道经典练习题答案6195.pdf_第2页
第2页 / 共74页
点击查看更多>>
资源描述

《Python99道经典练习题答案6195.pdf》由会员分享,可在线阅读,更多相关《Python99道经典练习题答案6195.pdf(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、獨傢惜愛 獨傢棄愛 獨傢襲愛#!/usr/bin/env python#coding:utf-8 【程序 1】题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。2.程序源代码:for i in range(1,5):for j in range(1,5):for k in range(1,5):if(i!=k)and(i!=j)and(j!=k):print i,j,k 【程序 2】题目:企业发放的奖金根据利润提成。利润(I)低于或等于 10 万元时,奖

2、金可提 10%;利润高 于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分,可可提 成 7.5%;20 万到 40 万之间时,高于 20 万元的部分,可提成 5%;40 万到 60 万之间时高于 40 万元的部分,可提成 3%;60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5%,高于 100 万元时,超过 100 万元的部分按 1%提成,从键盘输入当月利润 I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。2.程序源代码:bonus1=100000*0.1 bonus2=bonus1+1

3、00000*0.500075 bonus4=bonus2+200000*0.5 bonus6=bonus4+200000*0.3 bonus10=bonus6+400000*0.15 i=int(raw_input(input gain:n)if i=100000:bonus=i*0.1 elif i=200000:bonus=bonus1+(i-100000)*0.075 elif i=400000:bonus=bonus2+(i-200000)*0.05 elif i=600000:bonus=bonus4+(i-400000)*0.03 elif i=1000000:bonus=bonu

4、s6+(i-600000)*0.015 else:bonus=bonus10+(i-1000000)*0.01 print bonus=,bonus 【程序 3】题目:一个整数,它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少?1.程序分析:在 10 万以判断,先将该数加上 100 后再开方,再将该数加上 268 后再开方,如果开方后 的结果满足如下条件,即是结果。请看具体分析:2.程序源代码:#include math.h main()long int i,x,y,z;for(i=1;i100000;i+)x=sqrt(i+100);/*x 为加上 10

5、0 后开方后的结果*/y=sqrt(i+268);/*y 为再加上 268 后开方后的结果*/if(x*x=i+100&y*y=i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/printf(n%ldn,i);import math for i in range(10000):#转化为整型值 x=int(math.sqrt(i+100)y=int(math.sqrt(i+268)if(x*x=i+100)and(y*y=i+268):print i 【程序 4】题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以 3 月 5 日为例,应该先把前两个月的

6、加起来,然后再加上 5 天即本年的第几天,特殊 情况,闰年且输入月份大于 3 时需考虑多加一天。2.程序源代码:year=int(raw_input(year:n)month=int(raw_input(month:n)day=int(raw_input(day:n)months=(0,31,59,90,120,151,181,212,243,273,304,334)if 0=month 2):sum+=1 print it is the%dth day.%sum 【程序 5】题目:输入三个整数 x,y,z,请把这三个数由小到大输出。1.程序分析:我们想办法把最小的数放到 x 上,先将 x 与

7、 y 进行比较,如果 xy 则将 x 与 y的值进行交换,然后再用 x 与 z 进行比较,如果 xz 则将 x 与 z 的值进行交换,这样能使 x 最小。2.程序源代码:l=for i in range(3):x=int(raw_input(integer:n)l.append(x)l.sort()print l 【程序 6】题目:用*号输出字母 C 的图案。1.程序分析:可先用*号在纸上写出字母 C,再分行输出。2.程序源代码:print Hello Python world!n print*10 for i in range(5):print*print*10 print*n*6 【程序

8、7】题目:输出特殊图案,请在 c 环境中运行,看一看,Very Beautiful!1.程序分析:字符共有 256 个。不同字符,图形不一样。2.程序源代码:a=176 b=219 print chr(b),chr(a),chr(a),chr(a),chr(b)print chr(a),chr(b),chr(a),chr(b),chr(a)print chr(a),chr(a),chr(b),chr(a),chr(a)print chr(a),chr(b),chr(a),chr(b),chr(a)print chr(b),chr(a),chr(a),chr(a),chr(b)【程序 8】题目:

9、输出 9*9 口诀。1.程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。2.程序源代码:#include stdio.h main()int i,j,result;printf(n);for(i=1;i10;i+)for(j=1;j10;j+)result=i*j;printf(%d*%d=%-3d,i,j,result);/*-3d 表示左对齐,占 3 位*/printf(n);/*每一行后换行*/for i in range(1,10):for j in range(1,10):result=i*j print%d*%d=%-3d%(i,j,result)print 【

10、程序 9】题目:要求输出国际象棋棋盘。1.程序分析:用 i 控制行,j 来控制列,根据 i+j 的和的变化来控制输出黑方格,还是白方格。2.程序源代码:#include stdio.h main()int i,j;for(i=0;i8;i+)for(j=0;j8;j+)if(i+j)%2=0)printf(%c%c,219,219);else printf();printf(n);import sys for i in range(8):for j in range(8):if(i+j)%2=0:sys.stdout.write(chr(219)sys.stdout.write(chr(219

11、)else:sys.stdout.write()print 【程序 10】题目:打印楼梯,同时在楼梯上方打印两个笑脸。1.程序分析:用 i 控制行,j 来控制列,j 根据 i 的变化来控制输出黑方格的个数。2.程序源代码:import sys sys.stdout.write(chr(1)sys.stdout.write(chr(1)print for i in range(1,11):for j in range(1,i):sys.stdout.write(chr(219)sys.stdout.write(chr(219)print 【程序 11】题目:古典问题:有一对兔子,从出生后第 3

12、个月起每个月都生一对兔子,小兔子长到第三个月 后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列 1,1,2,3,5,8,13,21.2.程序源代码:main()long f1,f2;int i;f1=f2=1;for(i=1;i=20;i+)printf(%12ld%12ld,f1,f2);if(i%2=0)printf(n);/*控制输出,每行四个*/f1=f1+f2;/*前两个月加起来赋值给第三个月*/f2=f1+f2;/*前两个月加起来赋值给第三个月*/f1=1 f2=1 for i in range(1,21):print%12d%12d%

13、(f1,f2)if(i%2)=0:print f1=f1+f2 f2=f1+f2 【程序 12】题目:判断 101-200 之间有多少个素数,并输出所有素数。1.程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。2.程序源代码:h=0 leap=1 from math import sqrt from sys import stdout for m in range(101,201):k=int(sqrt(m+1)for i in range(2,k+1):if m%i=0:leap=0 break if leap=1:pri

14、nt%-4d%m h+=1 if h%10=0:print leap=1 print The total is%d%h 【程序 13】题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153 是一个“水仙花数”,因为 153=1 的三次方5 的三次方3 的三次方。1.程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。2.程序源代码:for n in range(100,1001):i=n/100 j=n/10%10 k=n%10 if i*100+j*10+k=i+j*2+k*3:print%-5d%n 【

15、程序 14】题目:将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。程序分析:对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成:(1)如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。(2)如果 nk,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数你n,重复执行第一步。(3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。2.程序源代码:from sys import stdout n=int(raw_input(input number:n)print n=%d%n

16、 for i in range(2,n+1):while n!=i:if n%i=0:stdout.write(str(i)stdout.write(*)n=n/i else:break print%d%n 【程序 15】题目:利用条件运算符的嵌套来完成此题:学习成绩=90 分的同学用 A 表示,60-89 分之间的用 B 表示,60 分以下的用 C 表示。1.程序分析:(ab)?a:b 这是条件运算符的基本例子。2.程序源代码:不支持这个运算符 score=int(raw_input(input score:n)if score=90:grade=A elif score=60:grade=

17、B else:grade=C print%d belongs to%s%(score,grade)【程序 17】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。1.程序分析:利用 while 语句,条件为输入的字符不为n.2.程序源代码:import string s=raw_input(input a string: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 el

18、se:others+=1 print char=%d,space=%d,digit=%d,others=%d%(letters,space,digit,others)题目:求 s=a+aa+aaa+aaaa+aa.a 的值,其中 a 是一个数字。例如 2+22+222+2222+22222(此时 共有 5 个数相加),几个数相加有键盘控制。1.程序分析:关键是计算出每一项的值。2.程序源代码:Tn=0 Sn=n=int(raw_input(n=:n)a=int(raw_input(a=:n)for count in range(n):Tn=Tn+a a=a*10 Sn.append(Tn)pr

19、int Tn Sn=reduce(lambda x,y:x+y,Sn)print Sn 【程序 19】题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=123.编程 找出 1000 以的所有完数。1.程序分析:请参照程序-上页程序 14.2.程序源代码:from sys import stdout for j in range(2,1001):k=n=-1 s=j for i in range(1,j):if j%i=0:n+=1 s-=i k.append(i)if s=0:print j for i in range(n):stdout.write(ki)stdout.

20、write()print kn 【程序 20】题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第 10 次落地时,共经过多少米?第 10 次反弹多高?1.程序分析:见下面注释 2.程序源代码:Sn=100.0 Hn=Sn/2 for n in range(2,11):Sn+=2*Hn Hn/=2 print Total of road is%f%Sn print The tenth is%f meter%Hn 【程序 21】题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每

21、天早上都吃了前一天剩下 的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。1.程序分析:采取逆向思维的方法,从后往前推断。2.程序源代码:x2=1 for day in range(9,0,-1):x1=(x2+1)*2 x2=x1 print x1 【程序 22】题目:两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定 比赛。有人向队员打听比赛的。a 说他不和 x 比,c 说他不和 x,z 比,请编程序找出 三队赛手的。1.程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此

22、数不是素数,反之是素数。2.程序源代码: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-%st b-%stc-%s%(chr(i),chr(j),chr(k)【程序 23】题目:打印出如下图案(菱形)*1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for

23、循环,第一层控制行,第二层控制列。2.程序源代码: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(*)print for i in range(3):for j in range(i+1):stdout.write()for k in range(4-2*i+1):stdout.write(*)print 【程序 24】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前 20 项之

24、和。1.程序分析:请抓住分子与分母的变化规律。2.程序源代码:#方法一 a=2.0 b=1.0 s=0 for n in range(1,21):s+=a/b t=a a=a+b b=t print s#方法二 s=0.0 for n in range(1,21):s+=a/b b,a=a,a+b print s s=0.0 for n in range(1,21):s+=a/b b,a=a,a+b print s#方法三 l=for n in range(1,21):b,a=a,a+b l.append(a/b)print reduce(lambda x,y:x+y,l)【程序 25】题目:

25、求 1+2!+3!+.+20!的和 1.程序分析:此程序只是把累加变成了累乘。2.程序源代码:#方法一 n=0 s=0 t=1 for n in range(1,21):t*=n s+=t print 1!+2!+3!+.+20!=%d%s#方法二 s=0 l=range(1,21)def op(x):r=1 for i in range(1,x+1):r*=i return r s=sum(map(op,l)print 1!+2!+3!+.+20!=%d%s 【程序 26】题目:利用递归方法求 5!。1.程序分析:递归公式:fn=fn_1*4!2.程序源代码:def fact(j):sum=

26、0 if j=0:sum=1 else:sum=j*fact(j-1)return sum for i in range(5):print%d!=%d%(i,fact(i)【程序 27】题目:利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。1.程序分析:2.程序源代码:def palin(n):next=0 if n=1:next=input()print print next else:next=input()palin(n-1)print next i=5 palin(i)print 【程序 28】题目:有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁

27、。问第 4 个人岁数,他说比第 3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个人大两岁。最后 问第一个人,他说是 10 岁。请问第五个人多大?1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道 第四人的岁数,依次类推,推到第一人(10 岁),再往回推。def age(n):if n=1:c=10 else:c=age(n-1)+2 return c print age(5)【程序 29】题目:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。1.程序分析:学会分解出每一位数,如下解释:(这里是一

28、种简单的算法,师专数 002 班鑫提供)2.程序源代码:x=int(raw_input(input a number:n)a=x/10000 b=x%10000/1000 c=x%1000/100 d=x%100/10 e=x%10 if a!=0:print there are 5,e,d,c,b,a elif b!=0:print there are 4,d,c,b,a elif c!=0:print there are 3,e,d,c elif d!=0:print there are 2,e,d else:print there are 1,e 题目:一个 5 位数,判断它是不是回文数

29、。即 12321 是回文数,个位与万位相同,十位与千位相同。1.程序分析:同 29 例 2.程序源代码:x=int(raw_input(input a number:n)x=str(x)for i in range(len(x)/2):if xi!=x-i-1:print this number is not a huiwen break print this number is a huiwen 程序 31】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或 if 语句判断第二个

30、字母。2.程序源代码:from sys import stdin letter=stdin.read(1)stdin.flush()while letter !=Y:if letter=S:print please input second letter letter=stdin.read(1)stdin.flush()if letter=a:print Saturday elif letter =u:print Sunday else:print data error break elif letter=F:print Friday break elif letter=M:print Mon

31、day#break elif letter=T:print please input second letter letter=stdin.read(1)stdin.flush()if letter =u:print Tuesday elif letter =h:print Thursday else:print data error break elif letter=W:print Wednesday else:print data error letter=stdin.read(1)stdin.flush()【程序 32】题目:Press any key to change color,

32、do you want to try it.Please hurry up!1.程序分析:2.程序源代码:不知道写呢:(,先空着吧 【程序 33】题目:学习 gotoxy()与 clrscr()函数 1.程序分析:2.程序源代码:不知道如何写:(先空着吧 【程序 34】题目:练习函数调用 1.程序分析:2.程序源代码:def hello_world():print hello world def three_hellos():for i in range(3):hello_world()if _name_=_main_:three_hellos()【程序 35】题目:文本颜色设置 1.程序分析

33、:2.程序源代码:#include void main(void)int color;for(color=1;color lj:min=j li,lmin=lmin,li print after sorted for i in range(N):print li 【程序 38】题目:求一个 3*3 矩阵对角线元素之和 1.程序分析:利用双重 for 循环控制输入二维数组,再将 aii累加后输出。2.程序源代码:if _name_=_main_:a=sum=0.0 for i in range(3):a.append()for j in range(3):ai.append(float(raw_

34、input(input num:n)for i in range(3):sum+=aii print sum 【程序 39】题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。1.程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后 此元素之后的数,依次后移一个位置。2.程序源代码:if _name_=_main_:#方法一 a=1,4,6,9,13,16,19,28,40,100,0 print original list is:for i in range(len(a):print ai number=int(raw_input(inser

35、t a new number:n)end=a9 if number end:a10=number else:for i in range(10):if ai number:temp1=ai ai=number for j in range(i+1,11):temp2=aj aj=temp1 temp1=temp2 break for i in range(11):print ai#方法二#insrt another number number=int(raw_input(input a number:n)if number alen(a)-1:a.append(number)else:for

36、i in range(len(a):if ai number:a.insert(i,number)print a 【程序 40】题目:将一个数组逆序输出。1.程序分析:用第一个与最后一个交换。2.程序源代码:if _name_=_main_:a=9,6,5,4,1 N=len(a)print a for i in range(len(a)/2):ai,aN-i-1=aN-i-1,ai print a 【程序 41】题目:学习 static 定义静态变量的用法 1.程序分析:2.程序源代码:#python 没有这个功能了,只能这样了:)def varfunc():var=0 print var=

37、%d%var var+=1 if _name_=_main_:for i in range(3):varfunc()#attribut of class#作为类的一个属性吧 class Static:StaticVar=5 def varfunc(self):self.StaticVar+=1 print self.StaticVar print Static.StaticVar a=Static()for i in range(3):a.varfunc()题目:学习使用 auto 定义变量的用法 1.程序分析:2.程序源代码:没有 auto 关键字,使用变量作用域来举例吧 num=2 def

38、 autofunc():num=1 print internal block num=%d%num num+=1 for i in range(3):print The num=%d%num num+=1 autofunc()【程序 43】题目:学习使用 static 的另一用法。1.程序分析:2.程序源代码:有一个 static 变量的用法,python 是没有,演示一个 python 作用域使用方法 class Num:nNum=1 def inc(self):self.nNum+=1 print nNum=%d%self.nNum if _name_=_main_:nNum=2 inst

39、=Num()for i in range(3):nNum+=1 print The num=%d%nNum inst.inc()【程序 44】题目:学习使用 external 的用法。1.程序分析:2.程序源代码:external.py 代码:import external if _name_=_main_:print external.add(10,20)【程序 45】题目:学习使用 register 定义变量的方法。1.程序分析:2.程序源代码:没有 register 关键字,用整型变量代替 tmp=0 for i in range(1,101):tmp+=i print The sum

40、is%d%tmp 【程序 46】题目:宏#define 命令练习(1)1.程序分析:2.程序源代码:没有 C 语言的宏,就这么写了 TRUE=1 FALSE=0 def SQ(x):return x*x print Program will stop if input value less than 50.again=1 while again:num=int(raw_input(Please input number)print The square for this number is%d%(SQ(num)if num=50:again=TRUE else:again=FALSE 题目:宏

41、#define 命令练习(2)1.程序分析:2.程序源代码:#include stdio.h#define exchange(a,b)/*宏定义中允许包含两道衣裳命令的情形,此时必须在最右边加上*/int t;t=a;a=b;b=t;这个宏定义 python 不支持 def exchange(a,b):a,b=b,a return(a,b)if _name_=_main_:x=10 y=20 print x=%d,y=%d%(x,y)x,y=exchange(x,y)print x=%d,y=%d%(x,y)【程序 48】题目:宏#define 命令练习(3)1.程序分析:2.程序源代码:#d

42、efine LAG#define SMA j:print%d larger than%d%(i,j)elif i=j:print%d equal to%d%(i,j)elif i y)?x:y#define MINIMUM(x,y)(xy)?y:x void main()int a=10,b=20;#ifdef MAX printf(40:The larger one is%dn,MAXIMUM(a,b);#else printf(40:The lower one is%dn,MINIMUM(a,b);#endif#ifndef MIN printf(40:The lower one is%d

43、n,MINIMUM(a,b);#else printf(40:The larger one is%dn,MAXIMUM(a,b);#endif#undef MAX#ifdef MAX printf(40:The larger one is%dn,MAXIMUM(a,b);#else printf(40:The lower one is%dn,MINIMUM(a,b);#endif#define MIN#ifndef MIN printf(40:The lower one is%dn,MINIMUM(a,b);#else printf(40:The larger one is%dn,MAXIMU

44、M(a,b);#endif 这个还是预处理的用法,python 不支持这样的机制,演示 lambda 的使用。MAXIMUM=lambda x,y:(x y)*x+(x y)*y+(x y)*x if _name_=_main_:a=10 b=20 print The largar one is%d%MAXIMUM(a,b)print The lower one is%d%MINIMUM(a,b)【程序 51】题目:学习使用按位与&。1.程序分析:0&0=0;0&1=0;1&0=0;1&1=1 2.程序源代码:if _name_=_main_:a=077 b=a&3 print a&b=%d%

45、b b&=7 print a&b=%d%b 题目:学习使用按位或|。1.程序分析:0|0=0;0|1=1;1|0=1;1|1=1 2.程序源代码:if _name_=_main_:a=077 b=a|3 print a|b is%d%b b|=7 print a|b is%d%b 【程序 53】题目:学习使用按位异或 。1.程序分析:00=0;01=1;10=1;11=0 2.程序源代码:if _name_=_main_:a=077 b=a 3 print The a 3=%d%b b=7 print The a b=%d%b 【程序 54】题目:取一个整数 a 从右端开始的 47 位。程序分

46、析:可以这样考虑:(1)先使 a 右移 4 位。(2)设置一个低 4 位全为 1,其余全为 0 的数。可用(0 4 c=(0 4)d=b&c print%ot%o%(a,d)【程序 55】题目:学习使用按位取反。1.程序分析:0=1;1=0;2.程序源代码:如何查看复数的 16 进制数 if _name_=_main_:a=234 b=a print The as 1 complement is%d%b a=a print The as 2 complement is%d%a 【程序 56】题目:画图,学用 circle 画圆形。1.程序分析:2.程序源代码:#include graphics

47、.h main()int driver,mode,i;float j=1,k=1;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,);setbkcolor(YELLOW);for(i=0;i=25;i+)setcolor(8);circle(310,250,k);k=k+j;j=j+0.3;if _name_=_main_:from Tkinter import*canvas=Canvas(width=800,height=600,bg=yellow)canvas.pack(expand=YES,fill=BOTH)k=1 j=1 for i in

48、range(0,26):canvas.create_oval(310-k,250-k,310+k,250+k,width=1)k+=j j+=0.3 mainloop()【程序 57】题目:画图,学用 line 画直线。1.程序分析:2.程序源代码:if _name_=_main_:from Tkinter import*canvas=Canvas(width=300,height=300,bg=green)canvas.pack(expand=YES,fill=BOTH)x0=263 y0=263 y1=275 x1=275 for i in range(19):canvas.create_

49、line(x0,y0,x0,y1,width=1,fill=red)x0=x0-5 y0=y0-5 x1=x1+5 y1=y1+5 x0=263 y1=275 y0=263 for i in range(21):canvas.create_line(x0,y0,x0,y1,fill=red)x0+=5 y0+=5 y1+=5 mainloop()【程序 58】题目:画图,学用 rectangle 画方形。1.程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。2.程序源代码:if _name_=_main_:from Tkinter import*root=T

50、k()root.title(Canvas)canvas=Canvas(root,width=400,height=400,bg=yellow)x0=263 y0=263 y1=275 x1=275 for i in range(19):canvas.create_rectangle(x0,y0,x1,y1)x0-=5 y0-=5 x1+=5 y1+=5 canvas.pack()root.mainloop()题目:画图,综合例子。1.程序分析:2.程序源代码:if _name_ =_main_:from Tkinter import*canvas=Canvas(width=300,height

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁