“我正在做以下练习:
一个体操运动员可以从每个裁判那里获得1分到10分之间的分数。
打印出一系列的句子,“法官可以给一个体操运动员分。”如果你的第一句话是“裁判可以给一个体操运动员1分”,那就别担心。然而,如果你可以使用一个for循环,并且有正确的语法,你就可以得到1000个额外的互联网积分。
我的代码是:
scores = (tuple(range(1,11)))
for score in scores:
print (f'A judge can give a gymnast {score} points.')当然,我的产出是:
问题是:我如何纠正循环中的语法?我的意思是,“1分”是什么时候,我怎样才能让我的循环说“1分”而不是“1分”,而对于其他分数来说,如何保持“1分”呢?
发布于 2022-02-17 03:06:04
这是另一种方法。以上的答案可能(我不知道)更有效率,在我看来,这对于未来的开发人员来说更容易读懂。
scores = (tuple(range(1,11)))
for score in scores:
if score == 1:
print ('A judge can give a gymnast 1 point.')
else:
print (f'A judge can give a gymnast {score} points.')发布于 2022-02-17 03:04:57
有条件地将s添加到字符串:
print(f'A judge can give a gymnast {score} point{"s" if score > 1 else ""}.')发布于 2022-02-17 03:09:28
我从这个问题的简单性中得出结论,一般来说,您对Python和编程还比较陌生。
您应该看看fundamental-concepts,比如流控制,找到一个解决方案应该不难。
https://docs.python.org/3/tutorial/controlflow.html
但是,为了给您一个具体的答案,您可以简单地将一个if-语句添加到循环中,如下所示:
scores = (tuple(range(1,11)))
for score in scores:
output = f'A judge can give a gymnast {score} point'
if score > 1:
output += "s"
print(f"{output}.")https://stackoverflow.com/questions/71151966
复制相似问题