数字猜猜猜还请帮忙完善

数字猜猜猜还请帮忙完善

#coding='utf-8'
import logging
import random
import sys
from datetime import datetime
class Games:
def guide_page(self,guide_word):
guide_word='欢迎进入数字猜猜猜小游戏'
       return '*****************%s************************'%guide_word

def all_num(self,n):
n=input('请继续输入您猜测的数字:')
print(n.isdigit())
def  num_legal(self,ls):
self.ls=ls
if int(ls[0])==int(ls[-1]):
print('您输入的区间数字相同,重新启动程序')
elif int(ls[0])>int(ls[-1]):
print('您输入的起始区间大于终止区间,请重新输入')
else:
return 1
       sys.exit()
def set_final_num(self,num1,num2):
i=input('数字区间起始值:')
j=input('数字区间终止值:')

num3 = list[num1, num2]


print('所产生的随机数字区间为:%s' % num3)
return num3
def write_record(self,times,value):
logging.basicConfig(level='DEBUG',format='%(asctime)s%(message)s',filename='record.txt',filemode='w')

def check_num_legal(self,num):
#判断所输入得值是否在指定区间

       if int(num)<int(self.ls[0]) or int(num)>int(self.ls[-1]):
print('对不起您输入得数字未在指定区域')
return 1
   def main(self,rand1):
temp=0
       while True:
pass

if __name__=='__main__':
s=Games()
print(s.guide_page(guide_word='欢迎进入数字猜猜猜小游戏'))
s.set_final_num(input('数字区间起始值:'),input('数字区间终止值:'))
s.all_num(input('请继续输入您猜测的数字:'))
s.num_legal()
s.check_num_legal()


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕念 2021-08-04 13:05:30

同学,你好!可以参考下面的注释和代码

#coding='utf-8'


import logging
import random
import sys
from datetime import datetime

class Games:
def guide_page(self,guide_word):
# guide_word='欢迎进入数字猜猜猜小游戏'
return '*****************%s************************'%guide_word

def all_num(self,n):
# n=input('请继续输入您猜测的数字:')
# print(n.isdigit())
# 返回其判定结果
return n.isdigit()

def num_legal(self,ls):
self.ls=ls
if int(ls[0])==int(ls[-1]):
print('您输入的区间数字相同,重新启动程序')
elif int(ls[0])>int(ls[-1]):
# print('您输入的起始区间大于终止区间,请重新输入')
print('您输入的数字区间大小有误! !请重新启动程序。')
else:
return 1
sys.exit()

def set_final_num(self,num1,num2):
# i=input('数字区间起始值:')
# j=input('数字区间终止值:')
# num3 = list[num1, num2]
# 利用内置函数filter()及all_num(n)过滤以确保输入值全部为数字
num_range = list(filter(self.all_num,[num1, num2]))
# print('所产生的随机数字区间为:%s' % num3)
# return num3
if len(num_range) == 2:
l = self.num_legal(num_range)
if l:
# 提示所输入的数字 以及 游戏区间
print('所产生的随机数字区间为:{0}'.format(num_range))
return random.randrange(int(num1), int(num2))
else:
print('您所输入的为非数字字符,请重新启动!')
sys.exit()

def write_record(self,times,value):
# logging.basicConfig(level='DEBUG',format='%(asctime)s%(message)s',filename='record.txt',filemode='w')
# 根据datetime模块获取玩家进行每一次猜测数字输入的时间
now = datetime.now()
logging.basicConfig(
level=logging.DEBUG,
format='%(message)s',
filename='record.txt',
# 将获取到的参数和时间信息以追加方式写入日志文件
filemode='a'
)

return logging.info(f'{now}:第{times}次您猜测的数字为:{value}')

def check_num_legal(self,num):
#判断所输入得值是否在指定区间
if int(num)<int(self.ls[0]) or int(num)>int(self.ls[-1]):
print('对不起您输入得数字未在指定区域')
return 1

def main(self,rand1):
temp=0
while True:
# pass
guess_num = input('请继续输入您猜测的数字:')
# 判断是否为数字类型
if self.all_num(guess_num):
# 转换为int 类型
guess_num = int(guess_num)
else:
print('您所输入的为非数字字符!!请重新输入')
if self.check_num_legal(guess_num):
# 如果数字未在指定区间,跳过本次循环,继续下一轮循环
continue
else:
temp += 1
# 传入次数temp guess_num 数字
self.write_record(temp, guess_num)
# 猜测数字与随机数字的大小比较
print('*' * 18)
if guess_num < rand1:
print('Lower than the answer')
elif guess_num > rand1:
print('Higher than the answer')
else:
print('恭喜您!只用了{0}次就赢得了游戏'.format(temp))
break

if __name__=='__main__':
s=Games()
print(s.guide_page(guide_word='欢迎进入数字猜猜猜小游戏'))
# s.set_final_num(input('数字区间起始值:'),input('数字区间终止值:'))
# s.all_num(input('请继续输入您猜测的数字:'))
# s.num_legal()
# s.check_num_legal()
i=input('数字区间起始值:')
j=input('数字区间终止值:')
rand = s.set_final_num(i, j)
s.main(rand)

​祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师