| 
 | 
 
 
发表于 2023-6-29 09:00:17
|
显示全部楼层
   本楼为最佳答案    
 
 
 isdigit()  是一个字符串方法,它用于检查字符串是否只包含数字。对于非字符串数据类型,例如整数或浮点数,该方法无法调用。你的变量  i  是整数,然后变成了浮点数,所以你不能在  i  上调用  isdigit() 。 
 
如果你希望检查一个变量是否是整数类型,你可以使用 Python 内置的  isinstance()  函数,像这样: 
 
 
 
不过在你的程序中,由于  i  是由算术操作得到的,有可能会变成浮点数。这样, isinstance(i, int)  可能会返回  False ,即使  i  是一个整数值的浮点数(例如,3.0)。如果你希望检查  i  是否等于其整数形式(即,检查  i  是否有小数部分),你可以使用以下表达式: 
 
 
 
如果  i  是浮点数且等于其整数形式,或者  i  本身就是整数,那么这个表达式将返回  True 。 
 
此外,注意在你的程序中,你用  i/2  计算了新的  i  值,这可能会产生浮点数结果。如果你想保持结果为整数,可以使用  //  运算符进行整数除法,像这样: 
 
 
 
这样,无论  i  是否能被2整除,结果总是一个整数。这意味着你可以始终用  isinstance(i, int)  来检查  i  是否为整数。 |   
 
 
 
 |