Python100经典练习题(7)

2019-04-16 19:54

{ } ''' '''

int i,j,driver=VGA,mode=VGAHI; initgraph(&driver,&mode,\setbkcolor(YELLOW); for(i=50;i<=230;i+=20) for(j=50;j<=230;j++) putpixel(i,j,1); for(j=50;j<=230;j+=20) for(i=50;i<=230;i++) putpixel(i,j,1);

题目:画椭圆ellipse 1.程序分析: 2.程序源代码: '''

if __name__ == '__main__': from Tkinter import * x = 360 y = 160 top = y - 30 bottom = y - 30

canvas = Canvas(width = 400,height = 600,bg = 'white') for i in range(20):

canvas.create_oval(250 - top,250 - bottom,250 + top,250 + bottom) top -= 5 bottom += 5 canvas.pack() mainloop() '''

题目:利用ellipse and rectangle 画图。 1.程序分析: 2.程序源代码: '''

if __name__ == '__main__': from Tkinter import *

canvas = Canvas(width = 400,height = 600,bg = 'white') left = 20 right = 50 top = 50 num = 15

for i in range(num):

canvas.create_oval(250 - right,250 - left,250 + right,250 + left) canvas.create_oval(250 - 20,250 - top,250 + 20,250 + top)

canvas.create_rectangle(20 - 2 * i,20 - 2 * i,10 * (i + 2),10 * ( i + 2)) right += 5 left += 5 top += 10

canvas.pack() mainloop() '''

【程序65】

题目:一个最优美的图案。 1.程序分析: 2.程序源代码: '''

import math class PTS:

def __init__(self): self.x = 0 self.y = 0 points = []

def LineToDemo():

from Tkinter import * screenx = 400 screeny = 400

canvas = Canvas(width = screenx,height = screeny,bg = 'white')

AspectRatio = 0.85 MAXPTS = 15 h = screeny w = screenx xcenter = w / 2 ycenter = h / 2

radius = (h - 30) / (AspectRatio * 2) - 20 step = 360 / MAXPTS angle = 0.0

for i in range(MAXPTS):

rads = angle * math.pi / 180.0 p = PTS()

p.x = xcenter + int(math.cos(rads) * radius)

p.y = ycenter - int(math.sin(rads) * radius * AspectRatio) angle += step

points.append(p)

canvas.create_oval(xcenter - radius,ycenter - radius, xcenter + radius,ycenter + radius) for i in range(MAXPTS):

for j in range(i,MAXPTS):

canvas.create_line(points[i].x,points[i].y,points[j].x,points[j].y)

canvas.pack() mainloop()

if __name__ == '__main__': LineToDemo() '''

【程序66】

题目:输入3个数a,b,c,按大小顺序输出。 1.程序分析:利用指针方法。 2.程序源代码: '''

if __name__ == '__main__':

n1 = int(raw_input('n1 = :\\n')) n2 = int(raw_input('n2 = :\\n')) n3 = int(raw_input('n3 = :\\n'))

def swap(p1,p2): return p2,p1

if n1 > n2 : n1,n2 = swap(n1,n2) if n1 > n3 : n1,n3 = swap(n1,n3) if n2 > n3 : n2,n3 = swap(n2,n3)

print n1,n2,n3 '''

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 1.程序分析:谭浩强的书中答案有问题。 2.程序源代码: '''

def inp(numbers): for i in range(9):

numbers.append(int(raw_input('input a number:\\n'))) numbers.append(int(raw_input('input a number:\\n'))) p = 0

def max_min(array): max = min = 0

for i in range(1,len(array) - 1): p = i

if array[p] > array[max] : max = p elif array[p] < array[min] : min = p k = max l = min

array[0],array[l] = array[l],array[0] array[9],array[k] = array[k],array[9]

def outp(numbers):

for i in range(len(numbers)): print numbers[i]

if __name__ == '__main__': array = [] inp(array)

max_min(array) outp(array) '''

【程序68】

题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 1.程序分析: 2.程序源代码: '''

if __name__ == '__main__':

n = int(raw_input('the total number is:\\n')) m = int(raw_input('back m:\\n'))

def move(array,n,m):

array_end = array[n - 1] for i in range(n - 1,-1,- 1): array[i] = array[i - 1] array[0] = array_end m -= 1

if m > 0:move(array,n,m)

number = [] for i in range(n):

number.append(int(raw_input('input a number:\\n'))) print 'orignal number:',number

move(number,n,m)

print 'after moved:',number

'''

【程序69】

题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出

圈子,问最后留下的是原来第几号的那位。 1. 程序分析: 2.程序源代码: '''

if __name__ == '__main__': nmax = 50

n = int(raw_input('please input the total of numbers:')) num = []

for i in range(n):

num.append(i + 1)

i = 0 k = 0 m = 0

while m < n - 1:

if num[i] != 0 : k += 1 if k == 3:

num[i] = 0 k = 0 m += 0 i += 1

if i == n : i = 0

i = 0

while num[i] == 0: i += 1 print num[i] '''

题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 1.程序分析: 2.程序源代码 就这样吧 '''

if __name__ == '__main__':

s = raw_input('please input a string:\\n') print 'the string has %d characters.' % len(s) '''

【程序71】

题目:编写input()和output()函数输入,输出5个学生的数据记录。 1.程序分析:


Python100经典练习题(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:邢台市地理地质与环境

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: