我正在尝试检查传递的数字是否是
的有效完美平方 d_dense1 = Dense(
((IMAGE_SIZE/4)**2)*(n if vanilla_architecture else 3*n),
input_shape = (h,),
activation = "relu",
name = name_prefix + "dense1"
)(d_in)
d_reshape1 = tf.keras.layers.Reshape(
(IMAGE_SIZE/4, IMAGE_SIZE/4, (n if vanilla_architecture else 3*n)),
name = name_prefix + "reshape1"
)(d_dense1)
我想知道是否可以通过将if语句分成两部分来更好地编写代码,例如
~
有人可以帮助我在这里使用elif还是有更好的方法。
谢谢。
答案 0 :(得分:2)
根本不需要使用if语句
return math.sqrt(num) % 2 == 0 or (math.sqrt(num)+1) % 2 == 0
答案 1 :(得分:2)
首先,三元运算符中没有elif
。其次,您的elif
没有指定返回值(将其排除在三元表达式之外的一个原因)。第三,检查根是否为整数容易出现舍入错误。相反,请尝试将根取整为整数,然后将其平方并与原始值进行比较。
答案 2 :(得分:2)
简单的一线式设计,并且具有可读性。
def check(num):
return True if math.sqrt(num) % 2 == 0 or (math.sqrt(num)+1) % 2 == 0 else False
>>> check(25)
True
>>> check(23)
False
答案 3 :(得分:1)
只需回答有关如何使用SELECT Carrier
,Shipment
,Acceptance
,Day
,ROW_NUMBER() OVER (
PARTITION BY Carrier
, Day
, Acceptance
ORDER BY Day
) AS "Cumulative Count of Acceptance per Day"
FROM CARRIER_RESPONSE
的问题,并通过破坏elif
语句就可以多行完成。我假设您将它们放在一个函数中。就像其他答案中指出的那样,可能会有更好的方法
if