sites =["Baidu","Google","IBM","Taobao"]for site in sites: if site == "IBM": print("OK") print("site:" + site)else: print("No break")print("Done!")
site:Baidu
site:Google
OK
site:IBM
site:Taobao
No break
Done!
你又没跳出当前循环 只是在IBM的时候判断语句为真打印了ok
你想要的效果 需要这么写
sites =["Baidu","Google","IBM","Taobao"]for site in sites: if site == "IBM": print("OK") continue print("site:" + site)else: print("No break")print("Done!")
这个Python代码的作用是遍历一个名为 sites
的列表,该列表包含四个字符串:"Baidu", "Google", "IBM", "Taobao"。然后,它会检查每个站点是否等于 "IBM",如果是,就输出 "OK"。然后,它会输出 "site:" 和每个站点的名称。
在Python中,print
函数默认会在每次调用时自动添加换行符。因此,每次调用 print
函数时,都会在新的一行开始输出。这就是为什么 "site:IBM" 会出现在新的一行,而 "OK" 不会。
让我们来详细解释一下代码的运行过程:
sites
列表。sites
列表中的每个元素,将其值赋给变量 site
。site
是否等于 "IBM"。* 如果 `site` 等于 "IBM",则输出 "OK"。
site
的值。break
语句),那么会执行 else
子句,输出 "No break"。所以,"site:IBM" 是在新的一行输出的,因为 print
函数默认会在每次调用时开始新的一行。而 "OK" 是直接输出到当前行的,所以它不会在新的一行开始。
问题内容: 这让我感到很奇怪,我花了一段时间检查代码中的错误之后才发现这一点。 “将副本从数据库表或视图复制到文件。如果指定现有文件,则该文件将被覆盖。提取数据时,请注意bcp实用程序将空字符串表示为null,并将空字符串表示为空字符串。 ” (来自http://msdn.microsoft.com/en- us/library/ms162802.aspx ) 显然,这可以解决我的问题,但是有人可
我的理解是 x == 0 首先运行。但是 x 在计算时仍然是 -1 (y = y / x) == 0?否则它将除以零。我以为输出将是 -5,但日食说 5。我快疯了。
我是java初学者,我对上述程序的输出感到困惑。请给我解释一下输出的原因。
问题内容: 在我的实际项目中,这是我修改后的小程序,偶然发生。 我不知道为什么它给输出 10 吗? 之后,我放了两个零,仍然给出输出10。 然后我将 012 更改 为0123 ,现在输出83? 谁能解释为什么? 问题答案: 比我将012更改为0123,现在输出为83? 因为它被当作八进制基数(8),因为该数字的前导数字为0。因此,它对应的十进制值为10。 012: 0123:
问题内容: 如果你碰巧有 在程序(或模块)的中间,您将得到警告: 我理解为什么通常不鼓励这样做(命名空间不可见),但是在很多情况下,这样做很方便,尤其是在不与任何人共享代码的情况下。 那么,谁能准确地详细解释为什么在所有可能的情况下都应禁止这样做? 问题答案: 我相信通过“在您的程序中间”,您正在谈论函数定义 内 的导入: 不允许这样做,因为这会使优化函数主体过于困难。Python实现希望在对函数
我对集成和IBM集成总线工具包的世界非常陌生。我正在使用IBM Integration Bus Toolkit进行一个小练习,通过这个练习,我的小应用程序可以获取一个。txt文件并将其移动到另一个目录中(我正在使用消息流)。我甚至可以指定输出文件的文件名 我现在想做的是通过添加当前日期来附加输出文件的文件名(例如output-20180225.txt),但我不太确定如何以及在哪里执行。 我知道有一