1. 使用`str.isdigit()`方法:
```python
while True:
x = input('请输入一个整数:')
if x.isdigit():
break
else:
print('请输入一个整数')
2. 使用`try-except`语句:
```python
while True:
try:
x = input('请输入一个整数:')
x = int(x)
break
except ValueError:
print('请输入一个整数')
3. 使用`isinstance()`函数:
```python
while True:
x = input('请输入一个整数:')
if isinstance(x, int):
break
else:
print('请输入一个整数')
4. 使用`type()`函数:
```python
while True:
x = input('请输入一个整数:')
if type(x) == int:
break
else:
print('请输入一个整数')
5. 使用`eval()`函数:
```python
while True:
num = input('请输入一个数字:')
try:
n1 = eval(num)
if isinstance(n1, float):
print('输入的是小数,请重新输入')
else:
print('输入的是整数')
break
except:
print('输入的不是数字,程序结束')
6. 使用`is_integer()`方法(仅适用于浮点数):
```python
a = 1.0
print(a.is_integer()) 结果为True
b = 1.1
print(b.is_integer()) 结果为False
7. 使用`%`运算符:
```python
x = input('请输入一个整数:')
if x % 1 == 0:
print('输入的是整数')
else:
print('输入的不是整数')
8. 使用正则表达式:
```python
import re
while True:
x = input('请输入一个整数:')
if re.match(r'^-?\d+$', x):
break
else:
print('请输入一个整数')
9. 使用位运算(仅适用于正整数):
```python
x = input('请输入一个整数:')
if x & 1 == 0:
print('输入的是整数')
else:
print('输入的不是整数')
以上方法各有优缺点,可以根据具体需求选择合适的方法