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

在這裏插入圖片描述

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