2024年最新Python面试数据结构算法,真心话大冒险小程序python实现_真心话大冒险抽人的软件 python,字节跳动面试知乎

收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

正文

下面通过一段代码来了解 tkinter的基本控件

#代码里的n和m都是数字
from tkinter import \*

#搭建界面

root=Tk()
#搭建窗口
root.title("XXXXXX")

#窗口大小和位置可以用一句代码实现
#root.geometry('nxm+x+m') 

#窗口大小 小写x连接
root.geometry('nxm')

#窗口位置
root.geometry('+n+m')

#标签控件
label=Label(root,text='XXXXXX')
label.grid()
 #grid()网格式分布,pack()包,place 位置

#输入框
entry=Entry(width=n)
entry.grid(row=n,column=n)

#列表框控件
text=Listbox(root,width=n,height=n)
text.grid(row=1,columnspan=n)  #columnspan 组件所跨越的列数
#row行数,column列数
#点击按钮
button=Button(root,text='XXXX',font=n,)#command 点击触发的装置
button.grid(row=n,column=n,sticky=W)
#sticky 对齐方式 N S W E 上 下 左 右
button1=Button(root,text='XX',font=n,command=root.quit)
button1.grid(row=n,column=n,sticky=E) #row行数,column列数

#窗口显示
root.mainloop()

总之,要学习Python开发GUI小程序就需要了解上面的一些基本的控件

下面是实现我们真心话大冒险小程序的代码

from random import \*        #导入随机数模板
from tkinter import \*       #导入界面设计版块
import tkinter.font as tkFont #从tkinter.font模板导入字体设置函数


#自定义函数:运行后点击界面按钮进行的操作
def call1():

     r=randint(1,len(zhenxinhua)-2)      #randint()函数表示随机取出一个范围在1到len(zhenxinhua)-2之间的随机数
     var.set(zhenxinhua[r])              #将取出的随机数作为序号把序号对应的题目放进var里

def call2():                          

     r=randint(1,len(damaoxian)-1)
     var.set(damaoxian[r])


#题库文件读取
try:
    f=open("真心话大冒险题库.txt")
    problem=[]                              #定义一个列表储存题库文件所有内容
    zhenxinhua=[]                           #定义列表储存真心话题目
    damaoxian=[]                            #定义列表储存大冒险题目
    for i in range(1000):                   #这个范围1000说明文件内容不能超过1000行,否则程序报错
        str=f.readline()                    #readline()函数可以从文件读取一行内容,并把其储存在str字符串里
        problem.append(str)                 #将str存入problem列表
        if(str==''):                        #碰到文件末尾时,直接结束循环
             break
    problem.remove('\n')                    #这两行是去掉读取到的无用内容
    problem.remove('')
    for i in range(1000):                   #这个循环是把problem里面真心话题目部分存进zhenxinhua列表
        if i>=len(problem):
             break
        zhenxinhua.append(problem[i])
        if problem[i]=='大冒险\n':
               break
    for i in range(1000):                   #同上,这个是大冒险题目
        if problem[i]=='大冒险\n':
            while i :
                if i>=len(problem):
                    break
                damaoxian.append(problem[i])
                i+=1
            break
except:
    
    print("error...")
    print("continue")
    


#界面创建主要操作
root = Tk()                                         #定义一个窗口,名字为root
root.title("真心话大冒险 v 2.01")                  #定义窗口显示出来时的标题
root.geometry('700x700')                            #用geometry固定窗口大小
root.attributes('-toolwindow',1)
ft=tkFont.Font(family='Comic Sans MS')              #定义一个字体变量
frame1=Frame(root,bg="green")                       #在root窗口里划分出一个区域frame1,定义背景颜色为绿色
frame2=Frame(root,bg="yellow")                      #在root窗口里划分出一个区域frame2,定义背景颜色为黄色
frame1.pack(padx=100,pady=100)                      #确定frame1的位置,参数表示padx表示区域与窗口竖边的距离,也表示与其他同类部件的距离,pady表示与横边的距离,也表示与其他同类部件的距离
frame2.pack(padx=30,pady=50)                               #确定frame2的位置,参数表示padx表示区域与窗口竖边的距离,也表示与其他同类部件的距离,pady表示与横边的距离,也表示与其他同类部件的距离
#上面隐藏了一个参数side,默认为TOP,表示居于窗口顶部中间


var=StringVar()                                     #一个字符串类,把字符串储存在var里,方便后面在窗口显示,显示的是题目
var.set("选择真心话或者大冒险")                     #设定初始字符串,set()函数用于把参数写进var
textLabel=Label(frame1,textvariable=var,height=10, width=400,
                 anchor=NW, wraplength=400,font=ft,bg="green")#Label,标签函数,用于在窗口中显示文字,将标签放在区域frame1里,调用var,将var里的字符串显示出来
textLabel.pack()                                    #确定标签的位置,同上面frame1.pack,只需要默认为居中

thebutton1=Button(frame2,text="真心话",width=15,height=1,font=ft,command=call1,bg="red")#在窗口设置一个按钮,命名为thebutton1,按钮上显示“真心话”,参数command用于当按钮被点击时调用的操作,bg表示按钮颜色
thebutton1.pack(side=LEFT,fill=Y,padx=50)           #确定按钮位置,放于frame2内


thebutton2=Button(frame2,text="大冒险",width=15,height=1,font=ft,command=call2,bg="blue")#同上
thebutton2.pack(side=RIGHT,fill=Y,padx=50)


mainloop()                                          #开始把创建好的窗口显示出来


上面的“真心话大冒险题库.txt”大家可以自己去制作,也可以直接从我上传的资源那里下载下载,注意该txt文件要和py文件放到同一目录下,否则程序执行会报错。
下面是txt文件的内容

真心话
1:如果看到自己最爱的人熟睡在你面前你会做什么?
2:自己最最喜爱的歌?
3:当你最不知道穿什么颜色的时候,你会选择什么颜色?
4:你最后悔的一件事是什么?
5:曾经有过最被感动的事是什么?
6:比较喜欢爸爸还是妈妈?
7:你最想要的5样东西
8:最后一次发自内心的笑是什么时候?
9:如果给你一个机会去世界上任何一个地方旅行你会去:
10:如果时间能倒流你希望回到哪一时间?
11:你心目中理想的爱人是什么样子呢?

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
真正的技术提升。**

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
[外链图片转存中…(img-a474iTYa-1713848147519)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值