小编Dev*_*ini的帖子

将python与c/fortran进行比较

我编写了以下程序来比较python与c/fortran的速度.为了获得程序使用的时间,我使用了"time"命令.所有程序计算x x + y y + z*z的平方根,其中x,y,z是浮点数.我使用了根方,因为它是科学计算中最耗时的部分之一,我参与其中.

我得到以下几次:

fortran  0m29.9s //
c        0m20.7s //
python  30m10.8s
Run Code Online (Sandbox Code Playgroud)

根据我做的简单测试,我发现Python不推荐用于科学计算.但可能我的代码效率很低.

您是否认为我可以为这个简单的测试用例提高代码效率?

Fortran语言:

program root_square
implicit none

integer i,j
real x,y,z,r

x=1.0
y=2.0
z=3.0

do j=1,3000
    do i=1,1000000
        r=sqrt(x*x+y*y+z*z)
    enddo
enddo

end program root_square
Run Code Online (Sandbox Code Playgroud)

C:

#include "stdio.h"
#include "math.h"

int main (void)
{

float x=1.0,y=2.0,z=3.0,r;
int i,j;

for(j=0; j<3000; j++){
        for(i=0; i<1000000; i++) {
                r=sqrt(x*x+y*y+z*z);
        }
}

return 0;
}
Run Code Online (Sandbox Code Playgroud)

蟒蛇:

#!/usr/bin/env python

from math import sqrt

x = 1.0
y = 2.0
z …
Run Code Online (Sandbox Code Playgroud)

c python performance fortran

12
推荐指数
2
解决办法
7761
查看次数

持久sha256哈希对象?

我需要一个Python/C/C++/Java实现,它可以暂停散列进度并将进度存储在文件中,以便在稍后阶段从该文件中恢复进度.

无论使用上面列出的语言编写,它都应该在Python中正常工作.建议您提供与"hashlib"配合使用的方法,但这不是必需的.此外,如果已经存在这样的事情,那么链接就足够了.

对于一个想法,您的实现应该实现什么.

import hashlib
import hashpersist #THIS IS NEEDED.

sha256 = hashlib.sha256("Hello ")
hashpersist.save_state(sha256, open('test_file', 'w'))

sha256_recovered = hashpersist.load_state(open('test_file', 'r'))
sha256_recovered.update("World")
print sha256_recovered.hexdigest()
Run Code Online (Sandbox Code Playgroud)

这应该提供与我们使用标准sha256函数对"Hello World"进行简单散列相同的输出.

a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
Run Code Online (Sandbox Code Playgroud)

c c++ python java hash

6
推荐指数
1
解决办法
997
查看次数

基本操作系统中图形的意外变化?

最近我在我的小学操作系统中安装了"dconfeditor".我重新启动计算机并登录,看到Elementary OS的所有漂亮外观已经消失.我真的不知道为什么这发生在我身上,所以,我没有其他信息.请告诉我如何在我的小学操作系统中恢复旧主题.

这是我的截图: -

在─> 改变前的形象

改变前的形象

离职后> 变化后的形象 在此输入图像描述

linux graphics themes

4
推荐指数
1
解决办法
1962
查看次数

为什么哥伦布是Python的第一人?

当我在Codecademy Labs中执行以下代码时: -

 names = [Adam,"Alex","Mariah","Martine","Columbus"]

 for Adam in names:

   print Adam
Run Code Online (Sandbox Code Playgroud)

它打印: -

Columbus

Alex

Mariah

Martine

Columbus
Run Code Online (Sandbox Code Playgroud)

现在,我想问为什么"哥伦布"处于最高位置.我知道我在列表中使用了一个空变量"Adam",并且在"for循环"中使用了相同的变量.它应该是一个"语法错误",因为在列表和"for循环"中使用相同的变量,然后为什么该列表的最后一个元素首先打印出来,最后也打印出来.

python list

0
推荐指数
1
解决办法
294
查看次数

标签 统计

python ×3

c ×2

c++ ×1

fortran ×1

graphics ×1

hash ×1

java ×1

linux ×1

list ×1

performance ×1

themes ×1