如何强制Python保持整数不受科学记数法的影响

我试图在
Python 3.2中编写一个加密短语然后解密的方法.问题是数字是如此之大,以至于当Python对它们进行数学运算时,它会立即将其转换为科学记数法.由于我的代码要求所有数字都能用于科学记数法,所以这没用.

我有的是:

coded = ((eval(input(':'))+1213633288469888484)/2)+1042

基本上,我只是从用户那里得到一个数字并做一些数学计算.

我尝试过format()和其他一些东西,但是我无法让它们工作.

编辑:我只使用整数.

最佳答案 在python3中,’/’进行实分(例如浮点).要获得整数除法,您需要使用//.换句话说100/2产生50.0(浮动)而100 // 2产生50(整数)

您的代码可能需要更改为:

coded = ((eval(input(':'))+1213633288469888484)//2)+1042

但是,作为警示故事,您可能需要考虑使用int而不是eval:

coded = ((int(input(':'))+1213633288469888484)//2)+1042
点赞