使用R Studio代码将C++转换为Python时出错

u3r8eeie  于 2023-01-15  发布在  Python
关注(0)|答案(1)|浏览(124)

好的。我作业中的一个问题是把C++代码翻译成Python。我认为具体是什么代码并不重要,但我必须使用以下代码来测试它:

intmain(){
returnfac(9);
}

我想我可能接近了,我刚刚使用了Visual Studio代码与Python扩展,并使用了一个代码来获得阶乘。在修复了其他一些错误后,我被一个错误卡住了,它说语法错误:不匹配的“{”
再说一次,我想我已经接近了。

int n;
long factorial = 1.0;

cout << "Enter a positive integer: ";
cin >> n;

    if (n < 0)
        cout << "Error! Factorial of a negative number doesn't exist.";
    else {
        for(int i = 1; i <= n; ++i) {
            factorial *= i;
        }
        cout << "Factorial of " << n << " = " << factorial;    
    }

    return 0;
}

我只是希望输出给予这样:输入正整数:8的阶乘= 40320
但是,我有一种感觉,也许我应该根据问题中给出的第二行代码重写它:返回面(9);
任何建议我都很感激约翰

ktca8awb

ktca8awb1#

正如注解中提到的,不要翻译代码,而是重新实现算法。
还是你对这个问题的回答。

转换为python:

def returnfac(n): 
    factorial=1
    
    if(n<0):
        print("Error! Factorial of a negative number doesn't exist.")
    else:
        for i in range(1,n+1):
            factorial*=i
       
        print("Factorial of",str(n),"=",str(factorial))    
        

if __name__=="__main__":
    returnfac(int(input("Enter a positive integer: ")))

输出:

Enter a positive integer: 8
Factorial of 8 = 40320

相关问题