入门体验小游戏:猜数字游戏 题目描述: 电脑产生一个零到100之间的随机数字,然后让用户来猜,如果用户猜的数字比这个数字大,提示太大,否则提示太小, 当用户正好猜中电脑会提示,”恭喜你猜到了这个数是……”。在用户每次猜测之前程序会输出用户是第几次猜测,如果用 户输入的根本不是一个数字,程序会告诉用户”输入无效

    (尝试使用try catch异常处理结构对输入情况进行处理)

    获取随机数采用random模块。

    1. import random
    2. guess=random.randint(1,101)
    3. i=1
    4. while True:
    5. print ("第%d次猜,请输入一个整数数字:"%(i))
    6. try:
    7. temp=int(input())
    8. i+=1
    9. except ValueError :
    10. print ("输入无效")
    11. continue
    12. if temp==guess:
    13. print ("恭喜你猜对了,就是这个数",guess)
    14. break;
    15. elif (temp>guess):
    16. print ("大了")
    17. elif (temp<guess):
    18. print ("小了")

    我们现在完成了这个功能, 我们改进一下

    1. import random
    2. def functions01(number, number_):
    3. if number == number_:
    4. return f"恭喜你猜对了,就是这个数{number_}"
    5. elif number < number_:
    6. return "大了"
    7. elif number > number_:
    8. return "小了"
    9. def functions02(number, number_):
    10. _error = "小了" if number > number_ else "大了"
    11. return f"恭喜你猜对了,就是这个数{number_}" if number == number_ else _error
    12. _number = random.randint(1, 101)
    13. i = 1
    14. while True:
    15. print(f"第{i}次猜,请输入一个整数数字")
    16. try:
    17. input_number = int(input())
    18. print(_number)
    19. except ValueError:
    20. print("输入无效")
    21. continue
    22. # def_function = functions01(number=_number, number_=input_number) # 功能实现一
    23. def_function = functions02(number=_number, number_=input_number) # 功能实现二
    24. print(def_function)
    25. if def_function == f"恭喜你猜对了,就是这个数{input_number}":
    26. break
    27. else:
    28. i += 1

    好的, 我们现在在其中使用了

    1. _error = "小了" if number > number_ else "大了"
    2. return f"恭喜你猜对了,就是这个数{number_}" if number == number_ else _error

    这里使用的是变量名 = 变量值1 if 逻辑表达式 else 变量值1

    好的,我们现在再来优化一下

    1. import random
    2. class Random_Number:
    3. def __init__(self):
    4. self._number = random.randint(1, 101)
    5. self._i = 1
    6. self._input_number = None
    7. def _is_break(self):
    8. _error = "小了" if self._number > self._input_number else "大了"
    9. return f"恭喜你猜对了,就是这个数{self._input_number}" if self._number == self._input_number else _error
    10. def _Main(self):
    11. while True:
    12. print(f"第{self._i}次猜,请输入一个整数数字")
    13. try:
    14. self._input_number = int(input())
    15. print(self._number)
    16. except ValueError:
    17. print("输入无效")
    18. continue
    19. def_function = self._is_break()
    20. print(def_function)
    21. if def_function == f"恭喜你猜对了,就是这个数{self._input_number}":
    22. break
    23. else:
    24. self._i += 1
    25. def __str__(self):
    26. return self._Main()
    27. if __name__ == '__main__':
    28. Random_Number().__str__()