Python: 循环语法正确
Python: grammar correct in a loop
“我正在做以下练习:
体操运动员可以从每位裁判那里获得 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分。
裁判可以给体操运动员2分
点.
裁判可以给体操运动员3分。
法官可以给出一个
体操运动员 4 分。
裁判可以给体操运动员5分。
法官可以
给体操运动员6分。
裁判可以给体操运动员7分。
一个
裁判可以给体操运动员8分。
裁判可以给体操运动员9分
点.
裁判可以给体操运动员打10分。
问题是:如何更正循环中的语法?我的意思是,什么时候是“1 分”,我怎样才能让我的循环说“1 分”而不是“1 分”,而其他分数保持“分”?
有条件地将s
添加到字符串中:
print(f'A judge can give a gymnast {score} point{"s" if score > 1 else ""}.')
您只需要一个if
语句来检查分数
scores = (tuple(range(1,11)))
for score in scores:
if (score == 1):
print (f'A judge can give a gymnast {score} point.')
else:
print (f'A judge can give a gymnast {score} points.')
这是另一种方法。上面的答案可能(我不知道)会更有效率,在我看来这对未来的开发者来说更具可读性。
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.')
我从这个问题的简单性得出结论,您对 Python 和 Programming 总体来说还比较陌生。
你应该看看 fundamental-concepts 之类的 flow-control 并且找到解决方案不应该很难。
https://docs.python.org/3/tutorial/controlflow.html
但仍然 - 给你一个具体的问题答案,
你可以简单地添加一个 if-statement 到你的 loop
像这样:
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}.")
straight-forward 方法是使用 python 字符串格式有条件地呈现 s
print(f'A judge can give a gymnast {score} point{"s" if score > 1 else ""}.')
“我正在做以下练习:
体操运动员可以从每位裁判那里获得 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分。
裁判可以给体操运动员2分 点.
裁判可以给体操运动员3分。
法官可以给出一个 体操运动员 4 分。
裁判可以给体操运动员5分。
法官可以 给体操运动员6分。
裁判可以给体操运动员7分。
一个 裁判可以给体操运动员8分。
裁判可以给体操运动员9分 点.
裁判可以给体操运动员打10分。
问题是:如何更正循环中的语法?我的意思是,什么时候是“1 分”,我怎样才能让我的循环说“1 分”而不是“1 分”,而其他分数保持“分”?
有条件地将s
添加到字符串中:
print(f'A judge can give a gymnast {score} point{"s" if score > 1 else ""}.')
您只需要一个if
语句来检查分数
scores = (tuple(range(1,11)))
for score in scores:
if (score == 1):
print (f'A judge can give a gymnast {score} point.')
else:
print (f'A judge can give a gymnast {score} points.')
这是另一种方法。上面的答案可能(我不知道)会更有效率,在我看来这对未来的开发者来说更具可读性。
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.')
我从这个问题的简单性得出结论,您对 Python 和 Programming 总体来说还比较陌生。
你应该看看 fundamental-concepts 之类的 flow-control 并且找到解决方案不应该很难。
https://docs.python.org/3/tutorial/controlflow.html
但仍然 - 给你一个具体的问题答案, 你可以简单地添加一个 if-statement 到你的 loop 像这样:
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}.")
straight-forward 方法是使用 python 字符串格式有条件地呈现 s
print(f'A judge can give a gymnast {score} point{"s" if score > 1 else ""}.')