a boring joke

由简入繁,最开始只是一个简单的小问题,问题是这样的,给你一串字符串,上面写了我的真心话,看不懂的话输入数字1会给出一部分答案,输入数字2则会输出另外一部分答案。
最初的代码是这样的:

s1 = "Reading books is my favorite hobby" 
s2 = "I like you more than reading books"
s = "".join(["".join(x) for x in zip(s1,s2)])
print(s)
# print(len(s1),len(s2))
num1 = input("想知道这是什么意思吗?\n 那就输入数字1\n")
if num1 == '1':
    print(s[::2])
num2 = input("你以为这就完了吗,你输入数字2试试看!\n")
if num2 == '2':
    print(s[1::2])

看完代码也大概知道是什么样的逻辑了吧。


image.png

既然做到这里了,就想可不可以图形化,于是就找到了python的tkinter这个模块可以实现图形化,于是有了下边的比较复杂一点但是已然比较粗糙的版本,代码如下:

import tkinter as tk

s1 = "Reading books is my favorite hobby" 
s2 = "I like you more than reading books"
s = "".join(["".join(x) for x in zip(s1,s2)])

window = tk.Tk()
window.title('听听我的真心话')
window.geometry('600x600')

l = tk.Label(window, 
    text='欢迎来到我的世界!',    # 标签的文字
    bg='green',     # 背景颜色
    font=('Arial', 12),     # 字体和字体大小
    width=100, height=4  # 标签长宽
    )
l.pack()    # 固定窗口位置


var = tk.StringVar()    # 这是文字变量储存器
l = tk.Label(window, 
    textvariable=var,   # 使用 textvariable 替换 text, 因为这个可以变化
    bg='green', font=('Arial', 10), width=100, height=4)
l.pack()

on_hit = False  # 默认初始状态为 False
def hit_me():
    global on_hit
    if on_hit == False:     # 从 False 状态变成 True 状态
        on_hit = True
        var.set(s)   # 设置标签的文字为 'you hit me'
    else:       # 从 True 状态变成 False 状态
        on_hit = False
        var.set('') # 设置 文字为空

b = tk.Button(window, 
    text='点击聆听我的真心话',      # 显示在按钮上的文字
    width=25, height=2, 
    command=hit_me)     # 点击按钮式执行的命令
b.pack()    # 按钮位置

def hit_me1():
    global on_hit
    if on_hit == False:     # 从 False 状态变成 True 状态
        on_hit = True
        var.set(s1)   # 设置标签的文字为 'you hit me'
    else:       # 从 True 状态变成 False 状态
        on_hit = False
        var.set('') # 设置 文字为空


b1 = tk.Button(window, 
    text='看懂了吗?',      # 显示在按钮上的文字
    width=25, height=2, 
    command=hit_me1)     # 点击按钮式执行的命令
b1.pack() 

def hit_me2():
    global on_hit
    if on_hit == False:     # 从 False 状态变成 True 状态
        on_hit = True
        var.set(s2)   # 设置标签的文字为 'you hit me'
    else:       # 从 True 状态变成 False 状态
        on_hit = False
        var.set('') # 设置 文字为空


b2 = tk.Button(window, 
    text='这么笨,那我告诉你',      # 显示在按钮上的文字
    width=25, height=2, 
    command=hit_me2)     # 点击按钮式执行的命令
b2.pack() 
# 这里是窗口的内容
window.mainloop()

最后的界面是这样的:


image.png

image.png

20181226

你可能感兴趣的:(a boring joke)