将代码的基本部分从C ++转换为Python

时间:2016-11-22 16:51:25

标签: python c++

我正在创建一个便士游戏,现在已经用C ++创建了,但是我在将其转换为Python时遇到了一些麻烦。我似乎无法弄清楚如何将这个循环之类的东西转换成Python。

       void penniesLeftOver(int amountOfPenniesCurrent) //Displays the amount of Pennies left to the user.
       {
         cout << "Pennies Remaining: " << amountOfPenniesCurrent; //Displays the amount of Pennies remaining.
         for (int i = 0; i < amountOfPenniesCurrent; i++)
         {
         cout << " o"; //Uses "o" to represent a Penny.
         }

      cout << "\n" << endl; //Starts a new line.
      }

3 个答案:

答案 0 :(得分:4)

在python中,你可以将一个字符串乘以一个int,它将创建一个新的字符串,这是重复n次的初始字符串。 而且你可以print()一次性倍增事物。这给出了:

def penniesLeftOver(amountOfPenniesCurrent):
    print("Pennies Remaining:", amountOfPenniesCurrent, " o"*amountOfPenniesCurrent)

答案 1 :(得分:0)

for penny in range(amountOfPenniesCurrent):
    print(" o")

这是Python中的for循环。 (&#34;对于便士总数中的每一分钱,打印&#34; o&#34;)

答案 2 :(得分:0)

虽然预先修改字符串更有意义,所以你只需要调用print,就可以通过其他方式完成任务。

sys.stdout.write(string)将变量string写入stdout(缓冲),调用sys.stdout.flush()将刷新该缓冲区以立即写入。 (您也可以定义缓冲区大小)

或者您可以使用print函数的关键字参数end=''(通常默认为\n)来防止添加换行符。在python2.7中,这需要调用from __future__ import print_function

>>>for i in range(10):
...    print('o', end='')
...
oooooooooo>>>
>>>for i in range(10):
...    sys.stdout.write('o')
...    sys.stdout.flush()
>>>
oooooooooo>>>