猫史档案馆


【Python作品分享】猜数字【作品秀】

用户:超人666超人666查看:0 回复:1 评论:0 创建时间:2023-07-28T15:28:20


【作品展示】

center_image

 

【作品介绍】

猜数字,ChatGPT编写,我改进重复执行

 

【作品源代码】

import random


def guess_number():

    target_number = random.randint(1, 100)
    print('猜数字游戏开始!')
    guesses_taken = 0
    while True:
        try:
            guess = int(input('请输入一个1到100的整数: '))
        except ValueError:
            print('输入无效,请输入一个整数。')
            continue
        guesses_taken += 1
        if (guess < target_number):
            print('猜的数字太小了!')
        elif (guess > target_number):
            print('猜的数字太大了!')
        else:
            print('恭喜你猜对了!')
            print('你猜了', guesses_taken, '次。')
            break

guess_number()
while True:
    yn = input('还要继续吗?是Y否N')
    if (yn == 'Y'):
        guess_number()
    elif (yn == 'N'):
        print('游戏结束')
        break
    else:
        print('不符合规范,请重新输入')
        continue

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
ywcwywcw

可以运用GUI,例子:

import random
import tkinter as tk
from tkinter import messagebox

def guess_number():
    target_number = random.randint(1, 100)
    guesses_taken = 0

    def check_guess():
        nonlocal guesses_taken
        try:
            guess = int(guess_entry.get())
        except ValueError:
            messagebox.showerror('错误', '输入无效,请输入一个整数。')
            return

        guesses_taken += 1
        if guess < target_number:
            result_label.config(text='猜的数字太小了!')
        elif guess > target_number:
            result_label.config(text='猜的数字太大了!')
        else:
            messagebox.showinfo('恭喜', f'恭喜你猜对了!\n你猜了 {guesses_taken} 次。')
            reset_game()

    def reset_game():
        nonlocal target_number, guesses_taken
        target_number = random.randint(1, 100)
        guesses_taken = 0
        result_label.config(text='')
        guess_entry.delete(0, tk.END)

    # 创建主窗口
    window = tk.Tk()
    window.title('猜数字游戏')

    # 创建游戏界面组件
    guess_label = tk.Label(window, text='请输入一个1到100的整数:')
    guess_label.pack()

    guess_entry = tk.Entry(window)
    guess_entry.pack()

    check_button = tk.Button(window, text='猜', command=check_guess)
    check_button.pack()

    result_label = tk.Label(window, text='')
    result_label.pack()

    reset_button = tk.Button(window, text='重新开始', command=reset_game)
    reset_button.pack()

    # 运行主循环
    window.mainloop()

if __name__ == '__main__':
    guess_number()

点赞0


评论