python猜数字游戏脚本(python怎么做猜数字游戏)

发布时间:2022-11-15

本文目录一览:

  1. 用python写猜数字小游戏
  2. python猜数游戏:在程序中预设一个随机数?
  3. python语言编写一个玩猜数的游戏.由程序产生1~1000间的随机数,玩游戏者可输入最多十次猜数
  4. 用python写一个猜数游戏
  5. 用python实现猜数字
  6. 初学python,被作业难到了,做一个猜数游戏,给十次机会,写完运行不出来,求大佬看看

用python写猜数字小游戏

核心代码给你,具体的功能还需要自己完善。

import time, random
class GuessNum:
    def __init__(self):
        self._num = ''
        self.input_num = []
        self.count = 1           # 猜对所用次数
        self.sec = 0             # 猜对所用时间
        self._generate_num()
    def _generate_num(self):    # 产生不重复的四个数字
        seq_zton = list(range(10))
        for i in range(0, 4):
            a = str(random.choice(seq_zton))  # 选出一个数字
            self._num += a
            seq_zton.remove(int(a))           # 注意a的类型
        self.sec = time.clock()             # 开始计时
    def check_answer(self):
        return self._num
    def check_input(self):
        num_pos, num_value = 0, 0           # 位置对和数值对的分别的个数
        tmp = input("Please input the number you guess(No repetition),or 'c' to check the answer:")
        if tmp == 'c':
            print(self.check_answer())
            tof = self.check_input()
            return tof
        elif not tmp.isalnum or not len(tmp) == 4:
            print("Wrong format!")
            tof = self.check_input()        # 需要优化
            return tof
        self.input_num = list(tmp)
        lst_temp = list(self._num)
        if self.input_num == lst_temp:      # 猜对
            self.prt_vic()
            return True
        for i in lst_temp:
            if i in self.input_num:
                if lst_temp.index(i) == self.input_num.index(i):  # 位置也相同
                    num_pos += 1
                    num_value += 1
                else:
                    num_value += 1
        self.prt_state(num_pos, num_value)
        self.count += 1
        return False
    def prt_state(self, num_pos, num_value):
        print("You've got %d numbers with the right position and %d numbers with the right value only" % (num_pos, num_value))
    def prt_vic(self):
        t = time.clock()
        self.sec = t - self.sec
        print("Congratulations!You have successfully got the right number!")
        print("%d times and %.2f sec in total to get the right answer" % (self.count, self.sec))
gn = GuessNum()
while True:
    ss = gn.check_input()
    if ss:
        b = input("Continue? y/n:")
        if b == 'n':
            break
        else:
            gn = GuessNum()
            continue

python猜数游戏:在程序中预设一个随机数?

import random
num = random.randint(0, 100) # 随机数
N = 0 # 访问次数
while True:
    N += 1
    x = int(input())
    if x == num:
        print("猜中了,用了{}次".format(N))
        break
    if x > num:
        print("太大了")
    else:
        print("太小了")

python语言编写一个玩猜数的游戏.由程序产生1~1000间的随机数,玩游戏者可输入最多十次猜数

这个有验证码的意思, 不过楼主的python经验少了, 如果上面输入的不是数字, 那么程序会报错的, 别有用心的人就能知道程序是如何编写的了, 这样不好啊 以后遇到python方面的问题, 可以帮忙搞定。 楼主看看网名

用python写一个猜数游戏

# -*- coding:utf-8 -*-
import random
import sys
if sys.version[0] == '3': raw_input = input
x = [1,2,3,4,5,6,7,8,9]
result = set(x)
while True:
    y = x[:]
    random.shuffle(y)
    y = y[:random.randint(1,len(x))]
    print("%s 中有你想要的吗?" % y)
    answer = raw_input()
    if answer.upper() in ['Y','YES']:
        result = result.intersection(y)
    if len(result) == 1:
        print("answer is :%s" % (list(result))[0])
        break

用python实现猜数字

a = '1459'
for x in range(7):
    j = 0
    b = str(input('请输入4个数字:'))
    # 判断输入的是否为4位
    if len(b) != 4:
        print("输入有误")
        break
    # 判断输入的是否为数字
    try:
        float(b)
    except:
        print("输入有误")
        break
    for i in range(4):
        if b[i] == a[i]:
            j = j + 1
    print(str(j) + 'A' + str(4 - j) + 'B')
    if j == 4:
        print("恭喜你赢了")
        break
print("游戏结束")

初学python,被作业难到了,做一个猜数游戏,给十次机会,写完运行不出来,求大佬看看

import random
target = random.randint(1, 1000)
count = 0
while True:
    try:
        guess = eval(input("猜猜这个数是什么,一共有10次机会哦"))
    except:
        continue
    print("请输入一个整数")
    if guess < target:
        print("猜小了")
        count += 1
    elif guess > target:
        print("猜大了")
        count += 1
    elif count == 10:
        print("机会用完了,欢迎下次再来!")
        break
    else:
        print("猜对了,正确答案为", target, "/n", "一共猜了{}次".format(count))
        break