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

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相关问答推荐

使用具有相同索引的多次出现的索引列表更新NumPy数组

Numba编译时间呈指数级增长--可以像C编译器一样配置优化级别吗?

根据第一个字典的值序列对第二个字典进行排序

在 Python 中比较和排序列之间的值(带有不匹配列)

删除浮点型数据集中每列重复值比例超过一定阈值的列

将水平堆叠的数据排列成垂直

Python 列表求和所有出现的保留顺序

如何在 Telethon 中向机器人发送发送表情符号

在python中将字符串写入文本文件

使用大型多个数据集,其中每个数据集包含多个值 - Pytorch

ImportError:无法从jinja2导入名称escape

无法在 macOS 上的 Anaconda3 python3.6 上安装 OpenCV3

如何为 Python 中的线程设置异步事件循环?

如何配置 Atom 以运行 Python3 脚本?

从大字典中弹出 N 项的最快方法

将行附加到 DataFrame 的最快和最有效的方法是什么?

为什么 string.maketrans 在 Python 3.1 中不起作用?

Python 3 中的连接列表

在 macbook pro M1 上安装 Tensorflow 时出现zsh:非法硬件指令 python

如何修复:cx_Oracle.DatabaseError:DPI-1047:找不到 64 位 Oracle 客户端库 - Python