执行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回答

时间,

2020-02-26

同学,你好。当猜测的值不在区间内时是会输出"对不起你输入的数字未在指定区间"。

同学若实现不了可以将具体操作及截图提供下,方便更好的为您解决。

http://img.mukewang.com/climg/5e563d88090772f505120372.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

0

0 学习 · 8160 问题

查看课程