【发布时间】:2017-04-06 03:47:03
【问题描述】:
对 python 来说是全新的,我遇到了一些我无法解释的东西,更不用说用语言来找到可能的答案了。我做了一个小抛硬币程序:
import random
print("I will flip a coin 1000 times")
input()
flips = 0
heads = 0
while flips < 1000:
if random.randint(0, 1) == 1:
heads = heads + 1
flips = flips + 1
print()
print("Out of 1000 coin tosses, heads came up " + str(heads) + " times!")
这个版本的程序不行,它告诉我翻转1000次后,每次都有1000个正面。
import random
print("I will flip a coin 1000 times")
input()
flips = 0
heads = 0
while flips < 1000:
if random.randint(0, 1) == 1:
heads = heads + 1
flips = flips + 1
print()
print("Out of 1000 coin tosses, heads came up " + str(heads) + " times!")
这个版本的程序可以完美运行,但是请注意我已经更改了 while 循环中“翻转”的缩进。 谁能告诉我这是为什么?提前致谢!
【问题讨论】:
-
在第一种情况下,
flips = flips + 1仅在条件if random.randint(0, 1) == 1为 True 时完成。 -
缩进意味着
flips = flips + 1现在不在if条件之外。在其他语言中,您经常会看到括号用于表示 if 条件在 true/false 时会做什么
标签: python indentation