大约半个小时想"我做错了什么!?" 在5行代码..因为Python3以某种方式舍入大整数.任何人都知道为什么会出现这样的问题:
Python2:
int(6366805760909027985741435139224001 # This is 7**40.
/ 7) == 909543680129861140820205019889143 # 7**39
Run Code Online (Sandbox Code Playgroud)
Python3:
int(6366805760909027985741435139224001
/ 7) == 909543680129861204865300750663680 # I have no idea what this is.
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个安装 (bash) 脚本,我需要在其中检查用户是否安装了 java 1.8。
最明显的方法是调用
javac -version | grep 1.8
Run Code Online (Sandbox Code Playgroud)
,但由于一些奇怪的原因 javac (和 java) -version 输出不能被重定向 - 不能通过 |、> 或 >> - 在第一种情况下,第二个程序没有得到任何输入,在第二个和第三个中,执行命令后输出文件为空。我试图在三台不同的机器上检查它,结果在每台机器上都是一样的。
那是什么原因呢?有没有其他方法可以检查java版本?
java ×1
javac ×1
largenumber ×1
output ×1
pipe ×1
python ×1
python-3.x ×1
redirect ×1
rounding ×1