服务期快到了,老师有没有这道题的答案啊?
还是有几点解不出来
import random
import sys
from datetime import datetime
def guide_page(guide_word):
"""提示玩家进入游戏"""
return '{0}{1}{0}'.format('*'*20,guide_word,'*'*20)
def all_num(n):
"""判断指定的值是否为数字"""
return n.isdigit()
def num_legal(ls):
"""判定指定序列ls中的数字符合正常逻辑合法性是否相等以及记录数字区间起始位置的值是否大于记录数字区间终止位置的值
::param ls:存储起始位置和终止位置的列表
::return:判断结果
"""
if ls[0] == ls[1]:
print('您输入的区间数字相同!!请重新启动程序。')
sys.exit()
elif int(ls[0] > ls[1]):
print('您输入的数字区间大小有误!!请重新启动程序。')
sys.exit()
else:
return 1
def set_final_num(num1,num2):
""" 根据参数值,产生一个位于参数值区间以内的随机数"""
num_range = list(filter(all_num,ls))
if len(num_range) == 2:
if num_legal(num_range):
return random.randint(int(num1),int(num2))
else:
print("您所输入的为非数字字符!!请重新启动程序。")
sys.exit()
def check_num_legal(num):
"""判定所输入的数值是否在指定的区间"""
if i <= int(num) <= j:
return True
else:
print("对不起您输入的数字未在指定区间!!!")
return False
def write_record(times,value):
"""将玩家每一次猜测数字和本次猜测次数两项信息写入日志文件"""
file_name = 'record.txt'
with open(file_name,'a',encoding='utf-8') as f:
f.write('{0}:第{1}次您猜测的数字为:{2}'.format(datetime.now(),times,value))
f.write('\n')
def main(rand1):
"""依据所产生的随机数字(rand1),提示玩家输入猜测数字并进行比对直到猜测到正确数字"""
number_ = 0
while True:
temp = int(input("请继续输入您猜测的数字:"))
if all_num(temp) == True:
print("对不起您输入的数字未在指定区间!!!")
number_ += 1
write_record(number_,temp)
if check_num_legal(temp) == False:
continue
else:
print("*"*20)
if temp < rand1:
print("Lower than the answer")
elif temp > rand1:
print("Higher than the answer")
else:
print("恭喜您!只用了{0}次就赢得了游戏".format(number_))
break
if __name__ == '__main__':
guide_word = '欢迎进入数字猜猜猜小游戏'
guide_page(guide_word)
i = int(input('数字区间起始值: '))
j = int(input('数字区间终止值: '))
int_lis = num_legal(i,j)
print("所产生的随机数字区间为:",[i,j])
正在回答 回答被采纳积分+1


1)num_legal定义的是一个参数,而调用时是两个参数,所以语法不正确。可以改为

2)num_legal()中不能固定的返回1,应该返回一个指定区间的随机数,改为return random.randint(ls[0], ls[1])。
3)def all_num(n)中请注意:字符串才有isdigit()方法,数字是没有此方法的。
4)建议同学写一点代码测试一点,而不是把代码全部写完才去测试。
5)另外作业没有固定的答案,只要根据要求来写,实现效果即可。慕课网希望大家培养自己的编程风格和编码习惯,鼓励学生自行思考,所以暂不提供源码。作业批复时,老师会根据你的代码情况,会给出建议代码优化方案的。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~~~~
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星