执行main函数猜错时不打印“对不起您输入的数字未在指定区间”
来源:3-2 项目作业
Venpnn
2020-02-26 15:46:07
import sys import random import datetime def guide_page(guide_word): print("{}{}{}".format('*'*20, guide_word, '*'*20)) def all_num(n): is_num = n.isdigit() if is_num == False: print('您输入的为非法数字字符,请重新启动!') sys.exit() return (n) def num_legal(ls): if ls[0] == ls[1]: print("您输入的区间数字相同!!请重新启动程序") sys.exit() elif ls[0] > ls[1]: print("您输入的数字区间大小有误!!请重新启动程序") sys.exit() else: return () def set_final_num(num1,num2): final_num = random.randint(int(num1),int(num2)) return final_num def check_num_legal(num): ls1 = [int(a),int(b)] if int(num) < ls1[0] or int(num) > ls1[1]: return False else: return True def write_record(times,value): datetime1 = datetime.datetime.now() with open('record.txt',"a+") as file_object: file_object.write(f"{datetime1}:第{times}次您猜测的数字为{value}\n") def main(rand1): times = 0 while times+1: num = int(input('请继续输入您猜测的数字')) if not check_num_legal(num): print('对不起你输入的数字未在指定区间') continue else: times += 1 write_record(times,num) if num < rand1: print('*'*10) print('Lower than the answer') elif num > rand1: print('*' * 10) print('Higher than the answer') else: print('*' * 10) print(f'恭喜您!只用了{times}次就赢得了游戏') break if __name__ == '__main__': guide_page("欢迎进入数字猜猜猜小游戏") a = input('数字区间起始值:') b = input('数字区间终止值:') all_num(a) all_num(b) num_ls = [a,b] num_legal(num_ls) d = set_final_num(a,b) print(f"所产生的随机数字区间为:['{a}', '{b}']") main(d)
1回答
同学,你好。当猜测的值不在区间内时是会输出"对不起你输入的数字未在指定区间"。
同学若实现不了可以将具体操作及截图提供下,方便更好的为您解决。
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
相似问题
回答 1