本案例受《爸爸教的数学》启发。
代码如下
-
a = 1 -
b = 2 -
c = 4 -
d = 8 -
sx = "鼠牛虎兔龙蛇马羊猴鸡狗猪" -
A = input("鼠虎龙马猴狗有没有?") -
if A == "没有": -
a = 0 -
if A == "有": -
a = 1 -
-
B = input("鼠虎龙马猴狗有没有?") -
if B == "没有": -
b = 0 -
if B == "有": -
b = 1 -
-
C = input("鼠虎龙马猴狗有没有?") -
if C == "没有": -
c = 0 -
if C == "有": -
c = 1 -
-
D = input("鼠虎龙马猴狗有没有?") -
if D == "没有": -
d = 0 -
if D == "有": -
d = 1 -
print("您的生肖是:", sx[a + b + c + d - 1])
运行结果
原理图如下
a, b, c, d四个变量分别代表每一行的值,如果猜测的生肖在A行,那么a是1,否则是0,其余以此类推。
这实际上是二进制转十进制。
推荐一本书《爸爸教的数学》读起来很有收获,尤其是下面这一回
结合不插电计算机科学中讲解二进制的例子,先用不插电的计算机科学中,纸片的方式,学生掌握后,再用这个案例,学生对于二进制的理解会非常深刻。