将许多参数传递给 python 中的输入 3. 猜数字游戏
Passing many arguments to input in python 3. Number guessing game
我刚开始在 Python 学习编程,读的是 Michael Dawson 的书,但想不出解决练习题的方法。它应该是一个 'guess a number' 游戏,计算机会尝试猜测我选择的数字。
import random
print("Pick any number between 1-100 and I'll try to guess it")
x = 1
y = 100
tries = 0
answer = "whatever"
while answer != "yes":
guess = random.randint(x, y)
answer = input("Is your number ", guess, "? Or is it 'lo'wer or 'hi'gher?")
if answer == "hi":
x = guess + 1
if answer == "lo":
y = guess - 1
tries += 1
print ("Got it! Your number is ", los, "! It took me ", tries, " Tries! :)")
input("End")
如您所料,这就是 python 给我的反馈:
Traceback (most recent call last):
File "/home/Documents/python/numbers.py", line 11, in <module>
answer = input("Is your number ", guess, "? Or is it 'lo'wer or 'hi'gher?")
TypeError: input expected at most 1 arguments, got 3
所以我知道我不应该期望input
接受超过 1 个参数,但我真的不知道该怎么做。对解决方案的任何友好踢将不胜感激:)
input
需要文档中提到的单个字符串
If the prompt argument is present, it is written to standard output without a trailing newline.
改用format
answer= input("Is your number {}? Or is it 'lo'wer or 'hi'gher?".format(guess))
您可以在输入上方添加一行并稍微更改输入函数调用。
import random
print("Pick any number between 1-100 and I'll try to guess it")
x = 1
y = 100
tries = 0
answer = "whatever"
while answer != "yes":
guess = random.randint(x, y)
input_message = "Is your number ", guess, "? Or is it 'lo'wer or 'hi'gher?"
answer = input(input_message)
if answer == "hi":
x = guess + 1
if answer == "lo":
y = guess - 1
tries += 1
print ("Got it! Your number is ", los, "! It took me ", tries, " Tries! :)")
input("End")
我刚开始在 Python 学习编程,读的是 Michael Dawson 的书,但想不出解决练习题的方法。它应该是一个 'guess a number' 游戏,计算机会尝试猜测我选择的数字。
import random
print("Pick any number between 1-100 and I'll try to guess it")
x = 1
y = 100
tries = 0
answer = "whatever"
while answer != "yes":
guess = random.randint(x, y)
answer = input("Is your number ", guess, "? Or is it 'lo'wer or 'hi'gher?")
if answer == "hi":
x = guess + 1
if answer == "lo":
y = guess - 1
tries += 1
print ("Got it! Your number is ", los, "! It took me ", tries, " Tries! :)")
input("End")
如您所料,这就是 python 给我的反馈:
Traceback (most recent call last):
File "/home/Documents/python/numbers.py", line 11, in <module>
answer = input("Is your number ", guess, "? Or is it 'lo'wer or 'hi'gher?")
TypeError: input expected at most 1 arguments, got 3
所以我知道我不应该期望input
接受超过 1 个参数,但我真的不知道该怎么做。对解决方案的任何友好踢将不胜感激:)
input
需要文档中提到的单个字符串
If the prompt argument is present, it is written to standard output without a trailing newline.
改用format
answer= input("Is your number {}? Or is it 'lo'wer or 'hi'gher?".format(guess))
您可以在输入上方添加一行并稍微更改输入函数调用。
import random
print("Pick any number between 1-100 and I'll try to guess it")
x = 1
y = 100
tries = 0
answer = "whatever"
while answer != "yes":
guess = random.randint(x, y)
input_message = "Is your number ", guess, "? Or is it 'lo'wer or 'hi'gher?"
answer = input(input_message)
if answer == "hi":
x = guess + 1
if answer == "lo":
y = guess - 1
tries += 1
print ("Got it! Your number is ", los, "! It took me ", tries, " Tries! :)")
input("End")