python - 如何检查输入是否是Python中的自然数?

标签 python string python-3.x input numbers

现在我正在尝试制作一个简单的井字游戏,当用户选择棋盘的扇区作为下一步行动时,我需要检查输入是否是一个单位数自然数。我不认为仅创建一个 ['1','2','3'...'9'] 列表并为其调用一个 in 语句是最佳选择。你有什么建议吗?

最佳答案

你可以检查一个字符串,x , 是一位自然数,通过检查字符串是否包含数字以及这些数字的整数等效值在 1 到 9 之间,即

x.isdigit() and 1 <= int(x) <= 9

此外,如果 x.isdigit()返回假,int(x)由于使用 and 的表达式,从未计算过(这是不必要的,因为结果已经知道)所以如果字符串不是数字,你不会得到错误。

关于python - 如何检查输入是否是Python中的自然数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27727712/

相关文章:

regex - 在 N 个字符后最接近的逗号处拆分一个长字符串并循环每个字符串

c++ - 字符串不会计算第一部分

Python 正则表达式错误 : nothing to repeat at position 0

python - 如何在 python 中的用户定义函数中实现 "positional-only parameter"?

python - 跨平台视频录制解决方案

Python - 组合两个 json 对象

c++ - 使用 regex_search 获取所有匹配项的索引?

python - 通过 python 发送邮件

python - 在循环中追加 Pandas DataFrame

python - Pandas 根据另一列的条件重置 cumsum()