zoukankan      html  css  js  c++  java
  • 模拟投币试验

    # -*- coding: utf-8 -*-
    # Time    : 2019/6/11 13:52
    # Author  : Eric
    # FileName: 模拟投币试验.py
    # Software: PyCharm
    #-----------------------------------------------------------------------------------------------------------------------
    
    import random
    from tkinter import *
    
    
    class Window:
        def __init__(self, title='游戏', width=300, height=120, staFunc=bool, stoFunc=bool):
            self.w = width
            self.h = height
            self.stat = True
            self.staFunc = staFunc
            self.stoFunc = stoFunc
            self.staIco = None
            self.stoIco = None
            self.root = Tk(className=title)
    
    
        def drawCenter(self):
            ws = self.root.winfo_screenwidth()  # 用户屏幕宽度
            hs = self.root.winfo_screenheight()  # 用户屏幕高度
            x = int((ws / 2) - (self.w / 2))  # 距屏幕左边框的像素点数
            y = int((hs / 2) - (self.h / 2))  # 距屏幕上边框的像素点数
            self.root.geometry('{}x{}+{}+{}'.format(self.w, self.h, x, y))
    
    
        def createWidgets(self):
            Label(self.root, text="实验次数:").grid(row=0, sticky=E)
            Label(self.root, text="正面出现的次数:").grid(row=1, sticky=E)
            Label(self.root, text="出现正面频率:").grid(row=2, sticky=E)
            self.e1 = Entry(self.root)
            self.hc = StringVar()
            self.e2 = Entry(self.root, textvariable=self.hc)
            self.p = StringVar()
            self.e3 = Entry(self.root, textvariable=self.p)
            self.e1.grid(row=0, column=1)
            self.e2.grid(row=1, column=1)
            self.e3.grid(row=2, column=1)
            self.btnSer = Button(self.root, command=self.click, width=3, height=1, text='运行')
            self.btnSer.grid(row=3, column=1, sticky=E)
            btnQuit = Button(self.root, text='关闭窗口', command=self.root.quit, width=8, height=1)
            btnQuit.grid(row=3, column=2)
    
    
        def click(self):
            h = 0  # 正面次数
            t = 0  # 反面次数
            allcount = 0
            count = int(self.e1.get())
            for i in range(count):
                num = random.randint(0, 1)
                if num == 0:
                    h = h + 1
                else:
                    t = t + 1
                allcount = allcount + 1
            print(allcount)
            self.hc.set(str(h))  # 正面次数
            self.p.set(str(h / count))  # 正面概率
    
    
        def loop(self):
            self.root.resizable(False, False)  # 禁止修改窗口大小
            self.createWidgets()
            self.drawCenter()  # 窗口居中
            self.root.mainloop()
    
    
    # 你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行
    if __name__ == '__main__':
        w = Window(width=350, height=150)
        w.loop()
    

      

                  
    申明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    【u026】花园(garden)
    【BZOJ 1040】[ZJOI2008]骑士
    【t100】汤姆斯的天堂梦
    【BZOJ 1038】[ZJOI2008]瞭望塔
    【t096】树的序号
    Java Web整合开发(82)
    2 HTML解析
    T3186 队列练习2 codevs
    T3185 队列练习1 codevs
    T1191 数轴染色 codevs
  • 原文地址:https://www.cnblogs.com/lsyb-python/p/11011236.html
Copyright © 2011-2022 走看看