能不能帮我看一下这段代码为啥不对
import randomguess=random.randint(1,10)
print('猜猜我心里想什么数字?')
temp=int(input())
time=2
while (temp!=guess)and (time>0):
print('猜错了,再猜')
print('答案是',guess)
time-=1
temp=input()
if temp==guess:
print('太聪明啦')
print('猜对也没有奖励')
print('答案是',guess)
print('游戏结束')
即使输入正确答案也显示“猜错了,再猜” 本帖最后由 Twilight6 于 2020-6-21 23:19 编辑
循环里面的代码 忘记 int 转化为整型了,因为 input 返回的是字符串,而且字符串 '1' 和整型 1 是不可能相等的
还有 input 函数里面可以直接填字符串,不用 print 然后在 input 这样比较麻烦
import random
guess = random.randint(1,10)
temp = int(input('猜猜我心里想什么数字?'))
time = 2
while temp != guess and (time > 0):
time -= 1
temp = int(input('猜错了,再猜'))
if temp == guess:
print('太聪明啦')
print('猜对也没有奖励')
else:
print('答案是', guess)
print('游戏结束!') 本帖最后由 吕知远 于 2020-6-22 00:27 编辑
import random
guess=random.randint(1,10)
print('猜猜我心里想的是什么数字?(1-10之间)')
time=2
while time<=2 and time>0:
temp=int(input('请输入您猜测的数字吧:'))
if temp==guess:
print('太聪明了,您猜对了!')
break
else:
print('猜错了!')
time-=1
#如果第一次猜错了,只允许再猜一次.
吕知远 发表于 2020-6-22 00:20
import random
guess=random.randint(1,10)
print('猜猜我心里想的是什么数字?(1-10之间)')
你的 while 循环 time <= 2 是多余的,可以去掉
然后将条件多一个判断 temp 是否等于 guess 的也可以去掉 break了:
import random
guess=random.randint(1,10)
temp = 0
time=2
print('猜猜我心里想的是什么数字?(1-10之间)')
while temp!=guess and time > 0:
temp=int(input('请输入您猜测的数字吧:'))
if temp==guess:
print('太聪明了,您猜对了!')
else:
print('猜错了!')
time-=1
页:
[1]