【问题标题】:How do I convert some elements of my for loop into lowercase?如何将 for 循环的某些元素转换为小写?
【发布时间】:2020-11-23 11:56:05
【问题描述】:

我目前正在学习 uni 的 Python 课程,大约一周前才开始学习。对于这个练习,我需要使用 for 循环打印“Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo”。我有以下内容:

a = "Buffalo"
for req in range(0,8,1):
    print(a,end=" ")

这会产生 8x Buffalo,但 2nd、4th、5th、6​​th 和 8th buffalo 应该是小写的。谁能告诉我该怎么做?我在网上的任何地方都找不到它

【问题讨论】:

  • 您在网上找不到它,因为您必须自己思考并解决问题。将问题分解为更小的逻辑单元,然后逐步进行。
  • 谢谢,由于某种原因,我很难想出这个问题的答案。从现在开始,我会做得更多!

标签: python lowercase


【解决方案1】:

您需要运行 for 循环(正如您已经在做的那样)特定次数,并且您需要交替打印 str(1st、3rd、5th => 'Buffalo' 和 2nd 4th 6th = > '水牛')。

您可以使用可以在每次迭代中切换的标志 (bool),然后使用它的值来打印 str 或者

或者

在 for 循环中使用 number ii 中的值在每次迭代中总是在偶数和奇数之间交替。您可以使用此属性。

请参阅this 回答以了解如何检查偶数或奇数。这是其中一种方式,类似于 c 检查奇偶数的方式。

试试这个:

a = "Buffalo"
for i in range(0, 8):
    if i & 1:
        print(a.lower(), end = ' ')
    else:
        print(a, end = ' ')
print()

使用按位与运算符(从链接中提到的答案复制)

  • 这个想法是检查数字的最后一位是否设置。如果设置了最后一位,则该数字为奇数,否则为偶数。
  • 如果一个数字是奇数,并且该数字乘以 1(按位与)将为 1,因为最后一位已经被设置。否则它将给出 0 作为输出。

【讨论】:

  • 但他要的是 2、4、5、6 和 8。这并不全是偶数或奇数,所以你的建议不能复制他的要求
  • 编辑并添加了解释。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-19
  • 2023-04-01
  • 2019-10-11
  • 2021-02-17
  • 1970-01-01
相关资源
最近更新 更多