我有一个小问题。我正在编写一个迷你游戏,我遇到了一个问题。我想创建的函数返回一个随机数从范围100-990由用户给出。我得到了错误'invalid literal for int() with base 10: 'Get number'
。如何修改这段代码来解决这个问题。我知道我可以把它分成两个函数,但是我想知道如何把它写成一个函数。
from typing import Final
def get_int_number_of_first_player(message: str, r_min: int, r_max: int):
if r_min > int(message) > r_max:
raise ValueError('Incorrect number')
return int(input(f'{message}:n'))
def main() -> None:
value_min: Final = 100
value_max: Final = 999
get_int_number_of_first_player('Get number', value_min, value_max)
if __name__ == '__main__':
main()
先输入,然后检查值:
def get_int_number_of_first_player(message: str, r_min: int, r_max: int):
user_value = int(input(f'{message}:n'))
if not (r_min <= user_value <= r_max):
raise ValueError('Incorrect number')
return user_value
注意,如果用户输入一个不能转换为int
的字符串,那么int()
函数将引发一个ValueError
。