首页 > 解决方案 > 使用 Django-Python 的随机数猜测器

问题描述

我想用 Django 实现一个猜数游戏。但是,我遇到了问题,因为每次猜测都会重新加载,因此数字会发生变化。有什么建议么?

def RanNum(request):
number = random.randint(1,20)
print('Ans:',number)
if request.method=="POST":
    guess=request.POST['Guess']
    num_guesses = 0

    guessed_number= False
    while not guessed_number:
        if not is_valid_num(guess):
            messages.info(request,"A number between 1 and 20 ony (Not Counted):")
            return redirect('/game')

            continue
        else:
            num_guesses +=1
            guess = int(guess)


        if guess < number:
            messages.info(request,"Too LOW.Guess again:")
            return redirect('/game')


        elif guess > number:
            messages.info(request,"Too HIGH.Guess again:")
            return redirect('/game')


        else:
            messages.info(request,"No of Guesses:")
            messages.info(request,num_guesses)
            return redirect('/game')


            guessed_number = True
    messages.info(request,"thanks for playing")
    return render(request,template_name='html/RandomNumApp/Ran.html',)

else:
    return render(request,template_name='html/RandomNumApp/Ran.html',)

标签: pythondjango

解决方案


这是我的代码。它有点短,但效果很好!

from random import randint
guesses = 0
n = randint(1, 20)
guess = int(input("Enter an integer from 1 to 20: "))
while n != "guess":
  guesses += 1
  if guess < n:
        print ("guess is low")
        guess = int(input("Enter an integer from 1 to 20: "))
  elif guess > n:
        print ("guess is high")
        guess = int(input("Enter an integer from 1 to 20: "))
  else:
        print ("You guessed it in", guesses, "guesses!")
        break

推荐阅读