本文目录一览:
- 用python写猜数字小游戏
- python猜数游戏:在程序中预设一个随机数?
- python语言编写一个玩猜数的游戏.由程序产生1~1000间的随机数,玩游戏者可输入最多十次猜数
- 用python写一个猜数游戏
- 用python实现猜数字
- 初学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