Python3程序设计实验二

Python3程序设计实验二

文章摘自:Python3程序设计实验|PengWill

排序

程序设计说明

不使用python中的提供的sort/sorted,自己实现3种排序方法,随机产生100000个[1,1000]之间的整数,各进行10次,对比三种方法的执行速度。

程序设计思路

按照排序算法首先定义好三个函数,之后用random模块随机产生一个list,通过shuffle在其内部进行打乱,同时调用函数执行排序。最后用time模块记录时间输出即可。

程序代码

import random
import time
def bubble_sort(lst):
    for i in range(0,len(lst)):
        for j in range(i):
            if lst[j] > lst[j+1]:
                lst[j],lst[j+1] = lst[j+1],lst[j]

    return lst

def qsort(lst):
    if len(lst) <= 1:
        return lst
    else:
        temp1 = [i for i in lst[1:] if i < lst[0]]
        temp2 = [i for i in lst[1:] if i >= lst[0]]
        return qsort(temp1) + lst[:1] + qsort(temp2)

def select_sort(lst):
    for i in range(0,len(lst)):
        min = i
        for j in range(i+1,len(lst)):
            if lst[min] > lst[j]:
                min = j
        lst[min],lst[i] = lst[i], lst[min]
    return lst

lst = list()
for i in range(1,10001):
    lst.append(random.randrange(1,1001))

########################################
# Bubble_sort
print("Bubble_Sorting, Please wait……")
t1 = time.clock()
for i in range(1,2):
    random.shuffle(lst)
    bubble_sort(lst)

t2 = time.clock()
print('Bubble_sort ' + str(t2 - t1))

########################################
# Select_sort
print("Select_Sorting, Please wait……")
t1 = time.clock()
for i in range(1,2):
    random.shuffle(lst)
    select_sort(lst)
t2 = time.clock()
print('Select_sort ' + str(t2 - t1))

########################################
# Quick_sort
print("Quick_Sorting, Please wait……")
t1 = time.clock()
for i in range(1,11):
    random.shuffle(lst)
    qsort(lst)
t2 = time.clock()
print('Quik_sort ' + str(t2 - t1))

我爱记单词

程序设计说明

实现一个简单的记生词软件,基本功能包括:添加新的生词及中文含义,浏览已经记录的单词,随机选择部分单词进行复习。可考虑其他拓展的功能。

程序设计思路

程序分为两个界面。第一个界面添加生词,查看已经记录的单词,同时可以对记录的单词就行修改和删除,还可以设置打算复习的单词的数目。第二个界面为复习单词的界面,给出当前选择单词是否选对和正确率等等情况。

程序代码

Main.py

#-*- coding:utf-8 -*-

import os, sys
import json
import random
import words
from tkinter import *
from tkinter.font import Font
from tkinter.ttk import *
from tkinter.messagebox import *

class Application_ui(Frame):
    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.master.title('Lovely Words-Main')
        self.master.geometry('575x204')
        self.createWidgets()

    def createWidgets(self):
        self.top = self.winfo_toplevel()

        self.style = Style()

        self.style.configure('Delete.TButton',font=('宋体',9))
        self.Delete = Button(self.top, text='删除单词', command=self.Delete_Cmd, style='Delete.TButton')
        self.Delete.place(relx=0.042, rely=0.51, relwidth=0.252, relheight=0.123)

        self.style.configure('Start.TButton'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值