我在大学上编程课,问题单中的一个练习是写以下代码:

number = int(input())
x = 0
y = 0
for n in range(number):
    if n % 2 == 0:
        x += n
    else:
        y += n
print(x)
print(y)

只使用一个"for"循环,不使用"while"或"if".

代码的目的是求偶数和

请记住,现在我们不应该知道

我已经try 了很长一段时间,似乎无法找到一种不使用"if"语句来知道循环变量是偶数还是奇数的方法.

推荐答案

for n in range(number):
    x += (1 - n % 2) * n
    y += (n % 2) * n

Python-3.x相关问答推荐

根据样本量随机 Select 组内样本

PySpark每毫秒使用先前的值填充数据

如何将值映射到具有上限和下限的新列

通过 Pandas 通过用户定义函数重命名数据框列

如何根据索引子列表对元素列表进行分组或批处理?

为什么不能用格式字符串 '-' 绘制点?

将值从函数传递到标签

如何通过 python 使用 auth no priv 获取 SNMPv3?

python 分代垃圾收集:get_count 没有报告正确的对象创建数?

在 python f-string 中使用 \u

attrs 将 list[str] 转换为 list[float]

为什么 numpy 的 `np.char.encode` 会将一个空的 unicode 数组变成一个空的 `float64` 数组?

Django 2 个字段之一不能为空

如何从 Python 3.5 降级到 Python 3.4

multiprocessing.Queue 中的 ctx 参数

使用 asyncio 的多个循环

Python 3 中的连接列表

Python 2 与 Python 3 - urllib 格式

__iter__ 和 __getitem__ 有什么区别?

在 Meta 中创建具有动态模型的通用序列化程序