|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我编了一个两个人玩的猜1-10随机数的一个小游戏,但目前的问题是每一次while循环后为了下一次的随机数和上次的不一样我要再加一个变量如secret2来代表随机数,而这样子(我现在的代码)的局限就是当我想要以赢家比输家多赢两局来算输赢的话会不知道应该需要多少个随机数,想问问大神们有没有什么方法可以使这个secret在每次循环后都自己刷新一次产生一个新的随机数,谢谢
- import random
- import easygui as g
- g.msgbox(" 嗨,欢迎进入一个小游戏!^_^")
- msg = "1号猜一猜我心里想的是哪个数字(1-10):"
- msg2 = "2号猜一猜我心里想的是哪个数字(1-10):"
- title = "数字小游戏"
- score1 = 0
- score2 = 0
- times = 3
- secret = random.randint(1, 10)
- secret2 = random.randint(1,10)
- secret3 = random.randint(1,10)
- while times == 3:
- guess1 = g.integerbox(msg, title, lowerbound=1, upperbound=10)
- if guess1 == secret:
- g.msgbox("握草对了")
- score1 += 1
- times -= 1
- g.msgbox("现在比分是1号%d分2号%d分" % (score1,score2))
- continue
- elif guess1 > secret:
- g.msgbox("猜大了")
- guess2 = g.integerbox(msg2, title, lowerbound=1, upperbound=10)
- if guess2 == secret:
- g.msgbox("握草对了")
- score2 += 1
- times -= 1
- g.msgbox("现在比分是1号%d分2号%d分" % (score1,score2))
- continue
- if guess2 > secret:
- g.msgbox("猜大了")
- continue
- if guess2 < secret:
- g.msgbox("猜小了")
- continue
- elif guess1 < secret:
- g.msgbox("猜小了")
- guess2 = g.integerbox(msg2, title, lowerbound=1, upperbound=10)
- if guess2 == secret:
- g.msgbox("握草对了")
- score2 += 1
- times -= 1
- g.msgbox("现在比分是1号%d分2号%d分" % (score1,score2))
- continue
- if guess2 > secret:
- g.msgbox("猜大了")
- continue
- if guess2 < secret:
- g.msgbox("猜小了")
- continue
- while times == 2:
- guess1 = g.integerbox(msg, title, lowerbound=1, upperbound=10)
- if guess1 == secret2:
- g.msgbox("握草对了")
- score1 += 1
- times -= 1
- g.msgbox("现在比分是1号%d分2号%d分" % (score1,score2))
- continue
- elif guess1 > secret2:
- g.msgbox("猜大了")
- guess2 = g.integerbox(msg2, title, lowerbound=1, upperbound=10)
- if guess2 == secret2:
- g.msgbox("握草对了")
- score2 += 1
- times -= 1
- g.msgbox("现在比分是1号%d分2号%d分" % (score1,score2))
- continue
- if guess2 > secret2:
- g.msgbox("猜大了")
- continue
- if guess2 < secret2:
- g.msgbox("猜小了")
- continue
- elif guess1 < secret2:
- g.msgbox("猜小了")
- guess2 = g.integerbox(msg2, title, lowerbound=1, upperbound=10)
- if guess2 == secret2:
- g.msgbox("握草对了")
- score2 += 1
- times -= 1
- g.msgbox("现在比分是1号%d分2号%d分" % (score1,score2))
- continue
- if guess2 > secret2:
- g.msgbox("猜大了")
- continue
- if guess2 < secret2:
- g.msgbox("猜小了")
- continue
- while times == 1:
- guess1 = g.integerbox(msg, title, lowerbound=1, upperbound=10)
- if guess1 == secret3:
- g.msgbox("握草对了")
- score1 += 1
- times -= 1
- g.msgbox("现在比分是1号%d分2号%d分" % (score1,score2))
- continue
- elif guess1 > secret3:
- g.msgbox("猜大了")
- guess2 = g.integerbox(msg2, title, lowerbound=1, upperbound=10)
- if guess2 == secret3:
- g.msgbox("握草对了")
- score2 += 1
- times -= 1
- g.msgbox("现在比分是1号%d分2号%d分" % (score1,score2))
- continue
- if guess2 > secret3:
- g.msgbox("猜大了")
- continue
- if guess2 < secret3:
- g.msgbox("猜小了")
- continue
- elif guess1 < secret3:
- g.msgbox("猜小了")
- guess2 = g.integerbox(msg2, title, lowerbound=1, upperbound=10)
- if guess2 == secret3:
- g.msgbox("握草对了")
- score2 += 1
- times -= 1
- g.msgbox("现在比分是1号%d分2号%d分" % (score1,score2))
- continue
- if guess2 > secret3:
- g.msgbox("猜大了")
- continue
- if guess2 < secret3:
- g.msgbox("猜小了")
- continue
- if times < 1:
- g.msgbox("游戏结束不玩啦嘻嘻^_^")
复制代码
你的代码我没看,你说的问题。你可以这样思考。
你想循环一次刷新一次。这个就可以理解为对这个变量重新赋值。即在循环内部重新赋值就行了。
另,你还想要要是猜中了才刷新这个值。那就直接在猜中的if语句中更新这个赋值。其他不变就行。
|
|