在 python 3. 数字猜谜游戏中将许多参数传递给输入
Posted
技术标签:
【中文标题】在 python 3. 数字猜谜游戏中将许多参数传递给输入【英文标题】:Passing many arguments to input in python 3. Number guessing game 【发布时间】:2015-05-30 17:06:01 【问题描述】:我刚开始使用 Michael Dawson 的书学习 Python 编程,想不出通过练习解决问题的方法。它应该是一个“猜数字”游戏,计算机试图猜测我选择的数字。
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 个参数,但我无法真正掌握如何处理这个问题。任何友好的解决方案都将受到高度赞赏:)
【问题讨论】:
如果其中一个问题解决了您的问题,您可以使用投票箭头下方的灰色复选标记将其标记为已接受。 【参考方案1】:input
需要文档中提到的单个字符串
如果提示参数存在,则将其写入标准输出,不带尾随换行符。
改用format
answer= input("Is your number ? Or is it 'lo'wer or 'hi'gher?".format(guess))
【讨论】:
谢谢先生。有用。我仍然不明白为什么,但我希望它会在以后变得更清楚。 @MichałJasiński 只需阅读文档!他们很清楚。万事如意!"One Plus Two Is ".format("three")
... format
是字符串具有的一种方法,可让您...格式化...您的字符串并替换内容。
我不知道我不接受您的回答。马上修好!【参考方案2】:
您可以在输入上方添加一行并稍微更改输入函数调用。
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")
【讨论】:
这种方法对我来说似乎更合乎逻辑。这与在其他回复中使用“格式”有什么大区别吗?是否有某种广泛使用的标准方法或最适合的方法?format
是工业标准的做法。这对学习者来说也是一个好方法(我 +1)
是的,Rao 是正确的。这只是了解python如何作为初学者工作的一种方式。但根据 Rao 建议的“格式”的经验,方法就是这样。以上是关于在 python 3. 数字猜谜游戏中将许多参数传递给输入的主要内容,如果未能解决你的问题,请参考以下文章