Skip to main content
 首页 » 编程设计

用于计算项目的 xp 的 python 代码

2025年05月04日11落叶无声

我正在尝试将 C++ 代码转换为 python,但我卡住了

原始C++代码

int main(void) 
{ 
    int levels = 40; 
    int xp_for_first_level = 1000; 
    int xp_for_last_level = 1000000; 
 
    double B = log((double)xp_for_last_level / xp_for_first_level) / (levels - 1); 
    double A = (double)xp_for_first_level / (exp(B) - 1.0); 
 
    for (int i = 1; i <= levels; i++) 
    { 
        int old_xp = round(A * exp(B * (i - 1))); 
        int new_xp = round(A * exp(B * i)); 
        std::cout << i << " " << (new_xp - old_xp) << std::endl; 
    } 
} 

python代码

import math 
from math import log 
from math import exp 
 
levels = 40 
xp_for_first_level = 1000 
xp_for_last_level = 1000000 
 
B = log(xp_for_last_level / xp_for_first_level) / (levels - 1) 
A = xp_for_first_level / (exp(B) - 1.0) 
 
for i in range(1, levels): 
    old_xp = round(A * exp(B * (i - 1))) 
    new_xp = round(A * exp(B * i)) 
    print(i + " " + (new_xp - old_xp)) 

感谢任何帮助我似乎无法完全让它工作,当我修复一个错误时我正在创建另一个错误。

请您参考如下方法:

将 print 行更改为:

print("%i %i" % (i, new_xp - old_xp)) 

引用这个list of allowed type conversion specifiers了解更多信息。

或者使用新的format方法。