请教大神关于两个程序对比的问题
最近学习了1-10猜数字游戏的程序,思考通过以下两种方式来实现:方式一:
import random
ran = random.randint(1,10)
counts = 4
while counts > 0:
guess = int(input("不妨猜一下我现在心里想的是哪个数字:"))
if guess == ran:
print("你是我心里的蛔虫嘛?!")
break
else:
if guess < ran:
print("小啦~")
else:
print("大啦~")
counts = counts - 1
else:
print("您已猜错4次,游戏结束!^_^")
方式二:
import random
ran = random.randint(1,10)
counts = 0
while True:
guess = int(input("不妨猜一下我现在心里想的是哪个数字:"))
if guess == ran:
print("你是我心里的蛔虫嘛?!")
break
else:
if guess < ran:
print("小啦~")
else:
print("大啦~")
counts = counts + 1
if counts>= 4:
print("您已猜错4次,游戏结束!^_^")
break
以上两种方式都能实现,请教各位大神:哪个程序更符合通常的编程思维(或习惯)? 一般用第一种吧 本帖最后由 Twilight6 于 2020-7-24 10:16 编辑
用第一种,因为当 counts = 0 的时候 可以当作条件判断,即 0 == False 是等价的
所以 while 循环条件可以直接写成 while counts: , 当 counts 减少到 0 的时候就会退出循环
因为循环条件为 0,而 0 可以等价于 False ,就不满足循环条件而退出;在 Python 中数字只要不为 0 那么布尔类型值就为 True
而你第二种多写了条件,程序也要多次进行判断,每循环一次,比另一个代码多判断了
都可以 都一样。
4+6等于10,5+5也等于10。
也没见哪个比较符合逻辑思维。
非要说,那就是5+5,因为比较好算。
页:
[1]