Python写猜数字

猜数字游戏 Python

猜数字和猜词小游戏

from random import randint
# 导入可以随机生成数的库
def guess_number(start = 1 , end = 10 , times = 3):
    # 定义函数,def是关键字,guess_number是函数名称
    # start,end,times是带默认值的形参,若调用函数时没有传递实参,就用默认值
    number = randint(start , end)
    # 生成指定范围的随机数,也就是要猜的数
    # 用for循环控制最大猜测次数,如果次数用完仍未猜对就结束循环
    for i in range(times):
        # 关键字else的用法1:value1 if condition else value2,condition值为真取value1,否则取value2
        prompt = '开始猜吧,' if i==0 else '再猜一次'
        # f-字符串,把大括号内的表达式替换为对应的计算结果
        prompt = f'剩余{times - i}次,{prompt}[{start},{end}]范围的数是什么:'
        # 接收用户输入,返回字符串
        value = input(prompt)
        try:
            # 异常处理结构,把可能会出错的代码放在try块中
            # 尝试把字符串转换为整数
            value = int(value)
        except:
            print('必须输入整数。',end = '')
        else:
            if value == number:
                print('恭喜,猜对了。')
                return True
            elif value > number:
                print('猜大了。')
            else:
                print('猜小了。')
    else:
        print('次数用完,没有猜对。')
        return False
total , win , times = 0 , 0 , 3
while True:
    # 玩游戏的次数
    total = total + 1
    start = randint(1 , 100)
    end = randint(start , start + 30)
    if guess_number(start , end , times = times):
        win = win + 1
        times = times + 1
    else:
        times = times - 1
    if times <= 0:
        print('最大猜测次数已经变成0了,不允许再玩了。')
        break
    # 必须输入Y或者N
    while True:
        flag = input('还想再来一局吗?(Y/N):').upper()
        if flag in ('Y','N'):
            break
    if flag == 'N':
        break
print(f'{"="*10}\n一共玩了{total}局,赢了{win}局。')



# 猜数字基本代码框架

# import random 
# num = random.randint(0, 100)
# num1 = None
# while num1 != num:
#     num1 = int(input("请输入:"))
#     if num1 > num:
#         print("*****你再猜小一点。*****")
#     elif num1 < num:
#         print("*****你再猜大一点。*****")
#     else: 
#         break

再来一个,猜单词游戏 Python

import random
word_1 = ["python", "linux", "mysql", "java",
         "hadoop", "pycharm", "smart", "photoshop"]
word = random.choice(word_1)
correct = word
jumble = ""
for _ in range(len(word)):
    num = random.randrange(len(word))
    jumble += word[num]
    word = word[:num] + word[(num + 1):]
print("打乱的单词:", jumble)
guess = input("请你猜测正确的单词是:")
while guess != correct or guess == "":
    print("错误!")
    guess = input("再猜:")
# if guess == correct:
print("正确!游戏结束。")
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值