我正在创建一个便士游戏,现在已经用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.
}
答案 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>>>