我经常猜数字游戏。输入猜测时,程序垃圾邮件会变低或变高,而不仅仅是输入一次,这是我遇到的问题,因为我使用的是True True循环。
在这里,我只是打开CSV文件并选择一个随机数。
import random
numbers = open('numbers_1-200.csv').read().splitlines()
number = int(random.choice(numbers))
在这里,我要导入数字1-50并选择两个随机数,这将是原始数字的加法和减法。因此计算机可以在原始数字介于两者之间的地方写两个数字。
我知道我可以让程序从同一CSV的前五十行中选择两个数字,其中包括1-200的数字,但是我选择制作另一个仅包含数字1-50的CSV。
differences = open('numbers_1-50').read().splitlines()
difference = int(random.choice(differences))
difference2 = int(random.choice(differences))
clue = number + difference
clue2 = number - difference2
这是我的欢迎屏幕,其中还包括最后一行的主程序。
def welcome_screen():
print('The number is between ' + str(clue) + ' and ' + str(clue2))
print('Guess the number: ')
guess_the_number()
这是我在其中猜测数字的循环
def guess_the_number():
guess = int(input())
while True:
if guess == number:
print('Correct! The number was' + str(number))
break
elif guess > number:
print('Lower')
elif guess < number:
print('Higher')
我正在获得像泰斯语的输出:
The number is between 45 and 97
Guess the number: 72
lower
lower
lower
lower
lower
lower
lower
lower
如何获得一次仅表示“较低”(或“较高”)的输出,然后我又可以猜测?
答案 0 :(得分:0)
def guess_the_number():
while True:
guess = int(input())
if guess == number:
print('Correct! The number was' + str(number))
break
elif guess > number:
print('Lower')
elif guess < number:
print('Higher')
答案 1 :(得分:0)
只需在while循环内移动input
函数:
def guess_the_number():
while True:
guess = int(input())
if guess == number:
print('Correct! The number was' + str(number))
break
elif guess > number:
print('Lower')
elif guess < number:
print('Higher')