python - 这里有什么不同?我只是不支持它
问题描述
所以我做了这个代码来检查整数是否可以在没有休息的情况下被分割,并且它的工作。但我需要做出改变,这样才能奏效。我真的只是想了解为什么这个小改动完全颠倒了我的代码的结果。这是工作代码
x = input("Erster Teiler")
y = input("Zweiter Teiler")
z = int(x)%int(y)
z1 =int(y)%int(x)
if z == 0 or z1 == 0:
print("teilbar")
else:
print("nicht teilbar")
我对这个练习的第一次尝试是做完全相反的。如果我输入 2 个不能除的数字,则表示它们是可除的。我只想知道这些代码有什么不同。正如你所看到的,我所做的只是改变了我的第一个 if 条件的前提。
x = input("Erster Teiler")
y = input("Zweiter Teiler")
z = int(x)%int(y)
z1 =int(y)%int(x)
if z or z1 == 0:
print("teilbar")
else:
print("nicht teilbar")
解决方案
查看 python 文档中关于真值测试的部分
https://docs.python.org/3/library/stdtypes.html
复制一些文档
真值测试
可以测试任何对象的真值,用于 if 或 while 条件或作为以下布尔运算的操作数。
默认情况下,一个对象被认为是真,除非它的类定义了一个__bool__()
返回 False 的__len__()
方法或一个返回零的方法,当与该对象一起调用时。以下是大多数被认为是错误的内置对象:
定义为假的常量:无和假。
任何数字类型的零:0, 0.0, 0j, Decimal(0), Fraction(0, 1)
空序列和集合:'', (), [], {}, set(), range(0)
除非另有说明,否则具有布尔结果的操作和内置函数始终返回 0 或 False 表示假,1 或 True 表示真。(重要的例外:布尔运算 or 和 and 总是返回它们的操作数之一。)
if z or z1 == 0:
正在测试z
数字类型是否有任何值0
被评估为真。
推荐阅读
- enterprise-architect - EA在生成XML时找不到指定的路径
- php - QC 中的域计数
- node.js - 角度同时从 formData 和 formGroup 发送数据
- asp.net - 在 ASP.NET MVC 操作中使用数据类传递许多参数
- powerpivot - 等级关系 权力支点
- automated-tests - 如何将空字符串传递给katalon studio中的输入元素
- java - 为 X DevAPI 禁用 MySQL 连接器/J SSL
- regex - 如何仅为特定分支和标签运行 Gitlab CI?
- css - 字体大小尽可能大以适应窗口宽度
- excel - Power Query - 根据单元格中电子邮件的出现创建和填充列 Email1、Email2 ...