首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:循环中语法正确

Python:循环中语法正确
EN

Stack Overflow用户
提问于 2022-02-17 03:01:56
回答 5查看 261关注 0票数 5

“我正在做以下练习:

一个体操运动员可以从每个裁判那里获得1分到10分之间的分数。

打印出一系列的句子,“法官可以给一个体操运动员分。”如果你的第一句话是“裁判可以给一个体操运动员1分”,那就别担心。然而,如果你可以使用一个for循环,并且有正确的语法,你就可以得到1000个额外的互联网积分。

我的代码是:

代码语言:javascript
复制
scores = (tuple(range(1,11)))
 
for score in scores:
   print (f'A judge can give a gymnast {score} points.')

当然,我的产出是:

  • 裁判可以给一个体操运动员1分。--

  • 裁判可以给一个体操运动员2分。--

  • 裁判可以给一名体操运动员3分。--

  • 裁判可以给一个体操运动员4分。--

  • 裁判可以给一个体操运动员5分。--

  • 裁判可以给体操运动员6分。--

  • 裁判可以给一个体操运动员7分。--

  • 裁判可以给体操运动员8分。--

  • 裁判可以给体操运动员9分。--

  • 一个裁判可以给一个体操运动员10分。--

问题是:我如何纠正循环中的语法?我的意思是,“1分”是什么时候,我怎样才能让我的循环说“1分”而不是“1分”,而对于其他分数来说,如何保持“1分”呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2022-02-17 03:06:04

这是另一种方法。以上的答案可能(我不知道)更有效率,在我看来,这对于未来的开发人员来说更容易读懂。

代码语言:javascript
复制
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.')
票数 2
EN

Stack Overflow用户

发布于 2022-02-17 03:04:57

有条件地将s添加到字符串:

代码语言:javascript
复制
print(f'A judge can give a gymnast {score} point{"s" if score > 1 else ""}.')
票数 10
EN

Stack Overflow用户

发布于 2022-02-17 03:09:28

我从这个问题的简单性中得出结论,一般来说,您对Python编程还比较陌生。

您应该看看fundamental-concepts,比如流控制,找到一个解决方案应该不难。

https://docs.python.org/3/tutorial/controlflow.html

但是,为了给您一个具体的答案,您可以简单地将一个if-语句添加到循环中,如下所示:

代码语言:javascript
复制
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}.")
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71151966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档