猜数字,关于for in range()的问题
为什么在图示那里没有, ’猜对了,还不错‘ 呢?直接就结束了 怎样修改才能出现,第三次有猜对了,还不错,这几个字 判断多了
if guess > ... :
...
elif guess < ... :
..
else:
print(...)
claws0n 发表于 2018-9-18 00:04
判断多了
if guess > ... :
...
import random
secret = random.randint(1,9)
print("**********猜数字(1-9)**********")
guess = int(input("猜猜我想的是几:"))
print(secret)
if guess == secret:
print("神了")
elif guess > 9 and guess < 1:
print('你个沙雕')
else:
for i in range(2):
if guess > secret:
guess = int(input('猜错了,大了,再猜猜'))
elif guess < secret:
guess = int(input('猜错了,小了,再猜猜'))
else:
print('猜对了,还不错')
print('算了吧')
print("游戏结束啦")
代码是上面的,但是我想在3次机会用完后,加一句算了吧。但是不知道加在哪里。出现的问题是在正好第三次猜对的时候,不会出现‘’猜对了‘’却出现‘’算了吧‘’
麻烦指点
雨云天 发表于 2018-9-18 10:16
import random
secret = random.randint(1,9)
print("**********猜数字(1-9)**********")
在 for 之前加 flag = 1, 猜中那里 flag = 0, print,break。 for之后(跟for平行),if flag: print("算了吧")
就是机会用完之后再判断 claws0n 发表于 2018-9-18 11:13
在 for 之前加 flag = 1, 猜中那里 flag = 0, print,break。 for之后(跟for平行),if flag: print("算 ...
解决了,但是没用你那个方法,因为文字描述没有读懂。不过多谢耐心帮助{:5_100:} 本帖最后由 雨云天 于 2018-9-18 12:50 编辑
循环后还要判断是不是猜对了,因为结束循环有两个可能,所以最后还要判断是猜对了,还是机会用尽。
import random
secret = random.randint(1,9)
print("**********猜数字(1-9)(3次)**********")
guess = int(input("猜猜我想的是几:"))
print(secret)
if guess == secret:
print("神了")
elif guess > 9 and guess < 1:
print('你个沙雕')
else:
for i in range(2):
if guess > secret:
guess = int(input('猜错了,大了,再猜猜:'))
elif guess < secret:
guess = int(input('猜错了,小了,再猜猜:'))
else:
break
if guess == secret:
print('猜对了,还不错')
else:
print('算了吧')
print("游戏结束啦") 雨云天 发表于 2018-9-18 12:45
循环后还要判断是不是猜对了,因为结束循环有两个可能,所以最后还要判断是猜对了,还是机会用尽。
也可以,不好意思,手机不方便上代码 昨天晚上弄到23点最后都迷糊了,写出最上面的那个代码,也是初学者,最后都在瞎拼瞎凑。
所以写代码还是要休息好。{:5_109:} claws0n 发表于 2018-9-18 12:48
也可以,不好意思,手机不方便上代码
对于新手能有人帮助已经是非常感谢了 雨云天 发表于 2018-9-18 12:52
对于新手能有人帮助已经是非常感谢了
嗯 ^_^
通常用 while,可以加强对输入的合法判断,再决定是否减少机会。论坛内可以找到。 本帖最后由 pyhero 于 2018-9-18 18:56 编辑
import random
chances = int(input('Guess number game, how many chances do you want: '))
guess = int(input('Guess the number(1-9, {} chances): '.format(chances)))
dst = random.randint(1, 9)
if guess not in range(1, 10):
print('Bad input, chose from {}'.format())
else:
chances -= 1
while True:
if guess > dst:
guess = int(input('too big, guess again: '))
elif guess < dst:
guess = int(input('too small, guess again: '))
if guess == dst:
print('Good')
break
chances -= 1
if chances <= 0:
print('Game Over, my number is {}'.format(dst))
break
页:
[1]