我的随机数生成器有什么问题。 (Python)
What is wrong with my random number generator. (Python)
我是 python 的新手。我试图制作一个随机 # 生成器,但除了 else 语句外没有任何效果。我不知道是什么问题。请帮忙!
import random
randomNum = random.randint(1, 10)
answer = int(raw_input("Try to guess a random number between 1 and 10. "))
if (answer > randomNum) and (answer < randomNum):
if (answer == randomNum + 1):
print "Super Close"
print randomNum
elif (answer == randomNum + 2):
print "Pretty Close"
print randomNum
elif (answer == randomNum + 3):
print "Fairly Close"
print randomNum
elif (answer == randomNum + 4):
print "Not Really Close"
print randomNum
elif (answer == randomNum + 5):
print "Far"
print randomNum
elif (answer == randomNum - 5):
print "Far"
print randomNum
elif (answer == randomNum - 4):
print "Not Really Close"
print randomNum
elif (answer == randomNum - 3):
print "Fairly Close"
print randomNum
elif (answer == randomNum - 2):
print "Pretty Close"
print randomNum
elif (answer == randomNum - 1):
print "Super Close"
print randomNum
else:
print "Good Job!"
print randomNum
你的第一个if
语句逻辑不正确。 answer
不能 同时 既小于又大于 randomNum
,但这正是您的测试所要求的。
您想在那里使用 or
而不是 and
,如果 answer
值大于 或 小于 randomNum
:
if (answer > randomNum) or (answer < randomNum):
或简单地使用 !=
来测试不等式:
if answer != randomNum:
我将此代码用于我的随机数生成器并且有效,希望对您有所帮助
您可以更改要生成的最高和最低随机数 (0,20)
import random
maths_operator_list=['+','-','*']
maths_operator = random.choice(maths_operator_list)
number_one = random.randint(0,20)
number_two = random.randint(0,20)
correct_answer = 0
print(str(number_one), str(maths_operator), number_two)
if maths_operator == '+':
correct_answer = number_one + number_two
elif maths_operator == '-':
correct_answer = number_one - number_two
elif maths_operator == '*':
correct_answer = number_one * number_two
print(correct_answer)
我是 python 的新手。我试图制作一个随机 # 生成器,但除了 else 语句外没有任何效果。我不知道是什么问题。请帮忙!
import random
randomNum = random.randint(1, 10)
answer = int(raw_input("Try to guess a random number between 1 and 10. "))
if (answer > randomNum) and (answer < randomNum):
if (answer == randomNum + 1):
print "Super Close"
print randomNum
elif (answer == randomNum + 2):
print "Pretty Close"
print randomNum
elif (answer == randomNum + 3):
print "Fairly Close"
print randomNum
elif (answer == randomNum + 4):
print "Not Really Close"
print randomNum
elif (answer == randomNum + 5):
print "Far"
print randomNum
elif (answer == randomNum - 5):
print "Far"
print randomNum
elif (answer == randomNum - 4):
print "Not Really Close"
print randomNum
elif (answer == randomNum - 3):
print "Fairly Close"
print randomNum
elif (answer == randomNum - 2):
print "Pretty Close"
print randomNum
elif (answer == randomNum - 1):
print "Super Close"
print randomNum
else:
print "Good Job!"
print randomNum
你的第一个if
语句逻辑不正确。 answer
不能 同时 既小于又大于 randomNum
,但这正是您的测试所要求的。
您想在那里使用 or
而不是 and
,如果 answer
值大于 或 小于 randomNum
:
if (answer > randomNum) or (answer < randomNum):
或简单地使用 !=
来测试不等式:
if answer != randomNum:
我将此代码用于我的随机数生成器并且有效,希望对您有所帮助 您可以更改要生成的最高和最低随机数 (0,20)
import random
maths_operator_list=['+','-','*']
maths_operator = random.choice(maths_operator_list)
number_one = random.randint(0,20)
number_two = random.randint(0,20)
correct_answer = 0
print(str(number_one), str(maths_operator), number_two)
if maths_operator == '+':
correct_answer = number_one + number_two
elif maths_operator == '-':
correct_answer = number_one - number_two
elif maths_operator == '*':
correct_answer = number_one * number_two
print(correct_answer)