虽然循环垃圾邮件输出而不是一次打印输出?
While loop spaming output instead of printing output once?
我经常玩猜数字游戏。当我输入猜测时我遇到了问题,程序垃圾邮件越来越低或越来越高,而不是只输入一次,因为我正在使用 while True 循环。
这里我只是打开 CSV 文件并选择一个随机数。
import random
numbers = open('numbers_1-200.csv').read().splitlines()
number = int(random.choice(numbers))
我在这里导入数字 1-50 并选择两个随机数,这两个数字将与原始数字相加和相减。所以计算机可以写出两个数字在原始数字之间。
我知道我可以让程序从包含 1-200 数字的同一 CSV 的前五十行中选择两个数字,但我选择制作另一个只有数字 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')
我得到像 theese 这样的输出:
The number is between 45 and 97
Guess the number: 72
lower
lower
lower
lower
lower
lower
lower
lower
我怎样才能得到一次只说 "lower"(或 "higher")然后我可以再次猜测的输出?
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')
只需将 input
函数移动到 while 循环中即可:
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')
我经常玩猜数字游戏。当我输入猜测时我遇到了问题,程序垃圾邮件越来越低或越来越高,而不是只输入一次,因为我正在使用 while True 循环。
这里我只是打开 CSV 文件并选择一个随机数。
import random
numbers = open('numbers_1-200.csv').read().splitlines()
number = int(random.choice(numbers))
我在这里导入数字 1-50 并选择两个随机数,这两个数字将与原始数字相加和相减。所以计算机可以写出两个数字在原始数字之间。
我知道我可以让程序从包含 1-200 数字的同一 CSV 的前五十行中选择两个数字,但我选择制作另一个只有数字 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')
我得到像 theese 这样的输出:
The number is between 45 and 97
Guess the number: 72
lower
lower
lower
lower
lower
lower
lower
lower
我怎样才能得到一次只说 "lower"(或 "higher")然后我可以再次猜测的输出?
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')
只需将 input
函数移动到 while 循环中即可:
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')