python上机——函数的应用及图形用户界面设计

一、实验目的和要求

1.掌握函数声明、定义及调用的方法。
2.掌握函数实际参数与形式参数的对应关系以及数据的“值传递”方式。
3.掌握递归的思想和递归调用的一般方法。

二、 实验数据记录、处理及结果分析

1、写出下列程序的运行结果。

def foo(num):
    for j in range(2,num//2+1):
        if num%j==0:
            return False
        else:
            return True
def main():
    n,c=8,0
    for i in range(2,n+1):
        if foo(i):
            c+=i
    print(c)
if __name__=='__main__':
    main()

在这里插入图片描述
2、下列程序的作用是求两个正整数m,n的最大公约数,请补充程序。

def gcd(m,n):
    if m<n:
        m,n=n,m
    if m%n==0:else:
        return     ②     
ans=gcd(84,342)
print(ans)

补充程序为:
①return n,②gcd(n,m%n)
在这里插入图片描述
3、定义一个Circle类,根据圆的半径求周长和面积。再由Circle类创建两个圆对象,其半径分别为5和10,要求输出各自的周长和面积。

import math
class Circle:
    def __init__(self,radius=5):
        self.radius=radius
    def getPerimeter(self):   #返回圆的周长
        return 2*math.pi*self.radius
    def getArea(self):        #返回圆的面积
        return math.pi*self.radius*self.radius
c1=Circle()    #创建两个圆对象
c2=Circle(10)
print(c1.radius,c1.getPerimeter(),c1.getArea())
print(c2.radius,c2.getPerimeter(),c2.getArea())

在这里插入图片描述
4、有一个文本文件sample.txt,其内容包含小写字母和大写字母。请将该文件复制到另一文件sample_copy.txt,并将原文件中的小写字母全部转换为大写字母,其余格式均不变。

f=open("sample.txt")
L1=f.readlines()
f2=open("sample_copy.txt",'w')
for line in L1:
    
f2.write(line.upper())
f.close()
f2.close()
5、绘制一个矩形,并在其中画宽度为15像素的均匀红色彩条
import tkinter
import math
w=Tk()
c=Canvas(w,bg='white')

c.pack()
c.create_rectangle(30,30,325,230,width=5)
x0=35
for i in range(10)

c.(x0,35,x0+15,255,fill='red',outline='red')
    x0+=30

5、选择相应单选按钮时,将窗口背景设置成相应颜色。

def callb():
    w.config(bg=tf[int(v.get())])
from tkinter import *
w=Tk()
w.title("改变窗口背景颜色")
w.geometry("250x100")
v=StringVar()
v.set(2)#将第三个单选按钮设为默认按钮
f=Frame(w,bd=4,relief=GROOVE)   #建立框架
f.pack()
tf=['red','blue','yellow']
for n in range(len(tf)):
    r=Radiobutton(f,variable=v,text=tf[n],value=n,command=callb)
    r.grid(row=n,column=1,sticky=W)       #靠左放
w.mainloop()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6、设置按钮ok点击之后为hello world
在这里插入图片描述
在这里插入图片描述

from tkinter import * 
from tkinter.messagebox import * 
def button_click(): 
    showinfo(title='message box',message='Hello,world!') 
w=Tk() 
b=Button(w,text='OK',command=button_click) 
b.pack(side=TOP) 
w.mainloop()

三、讨论、心得

11题报错:
在这里插入图片描述
源码为:

源码为:
from tkinter import *
from math import *
w=Tk()
c=Canvas(w,bg='white')
c.pack()
c.create_rectangle(30,30,325,230,width=5)
x0=35
for i in range(10):
c.create_rectangle(x0,35,x0+15,225,fill='red',outline='red')
    x0+=30

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章