我有多个数量输入字段,它只允许正整数值,在网页上。
我的第一个代码是这样的:
quantities = []
for form in forms:
qty= form.cleaned_data['qty']
if qty:
quantities.append(qty)
if not quantities:
raise forms.ValidationError("You didn't choose any books")
在查看了我的代码后,我发现了一个更短的版本:
if not any([form.cleaned_data['qty'] for form in forms]):
raise forms.ValidationError("You didn't choose any books")
这会一直有效吗?除了0
,每个整数的计算结果是否都是True
?
给定整数(int
s)作为域,答案是肯定的。Python中唯一错误的整数值是0
。所有其他整数在计算为bool
时都是True
。
一般来说,是的。
除非特别定义,否则python中的大多数对象都被认为是真的。
见来源
4.内置类型(Python 3留档)
4.1. 真值检验
任何对象都可以测试真值,用于if或while条件,或作为下面布尔运算的操作数。
默认情况下,对象被视为true,除非其类定义了返回False的bool()方法或使用对象调用时返回零的len()方法。以下是大多数被认为是错误的内置对象:
定义为false的常量:
没有,也没有。
任何数字类型的零:0,0.0,0j,十进制(0),分数(0,1)
空序列和集合:“”,(),[],{},set(),范围(0)
除非另有说明,否则具有布尔结果的操作和内置函数始终返回0或False表示False,返回1或True表示True。
(重要例外:布尔运算或and始终返回其一个操作数。)
问题内容: 我写的是,我正在使用Netbeans向每个函数添加类似专业的注释。因此,我从每一个开始,然后按来让Netbeans完成用于以下功能的默认注释方案。 到现在为止,我一直只在PHP语言中使用它,在这种情况下,如果遵循PHP函数确实包含了声明,则Netbeans始终仅在注释方案中添加部分。在所谓的“过程”(不返回任何值的函数)上,缺少此部分。 今天,我为Javascript函数尝试了同样的事
问题内容: 我最近阅读了许多有关使用JavaScript进行排序的答案,而且我经常偶然发现一个如下所示的compare函数: 因此,它是一个比较函数,如果大于1则返回1,如果小于OR EQUAL TO 则返回-1 。如MDN(link)所述,比较函数也可以返回零,以确保两项的相对位置保持不变: 如果compareFunction(a,b)返回0,则a和b彼此保持不变,但对所有不同元素进行排序。 因
问题内容: 我试图除以2计数以返回一个百分比。 返回以下查询: 我应该应聘演员吗? 问题答案: 我会用两个s来做不同的事情:
-2147483648是32位整数类型的最小整数,但它似乎会在
问题内容: 我在jsfiddle.net上玩,我很好奇为什么返回true? 这样: 但这不是: 这个怪癖有用吗? 问题答案: 操作顺序导致在javascript中解释为产生,并且true计为1,导致其返回true。 这也是为什么返回false,返回true,为什么将其解释为,从而导致的原因。
问题内容: 我只是想计算增值税,但是当我除以100以获得总价格(price * VAT / 100)时,它返回了0.0。这是我的代码: ‘total’被定义为FLOAT而不是INT 问题答案: 您需要将表达式强制转换为。我在这里使用了float文字。