Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在循环中创建变量时出现问题_Python_Loops - Fatal编程技术网

Python 在循环中创建变量时出现问题

Python 在循环中创建变量时出现问题,python,loops,Python,Loops,我正在通过一本书学习python,这本书通过创建游戏进行教学。我必须写代码,所以我输入一个数字,计算机根据输入的高或低做出有根据的猜测。输入号码后,我不断收到错误: Traceback (most recent call last): File "C:\Users\Rayvenx\Desktop\My_programs\Number_game_pcguess.py", line 7, in highlow = raw_input("\nIs it", guess, "?:") Ty

我正在通过一本书学习python,这本书通过创建游戏进行教学。我必须写代码,所以我输入一个数字,计算机根据输入的高或低做出有根据的猜测。输入号码后,我不断收到错误:

Traceback (most recent call last): File "C:\Users\Rayvenx\Desktop\My_programs\Number_game_pcguess.py", line 7, in highlow = raw_input("\nIs it", guess, "?:") TypeError: [raw_]input expected at most 1 arguments, got 3 回溯(最近一次呼叫最后一次): 文件“C:\Users\Rayvenx\Desktop\My\u programs\Number\u game\u pcguess.py”,第7行,在 高低=原始输入(“\nIs it”,猜测“?:”) TypeError:[原始\输入最多应为1个参数,得到3个参数 代码如下:

import random number = raw_input("\nWhat is your number 1-100? :") guess = random.randrange(100) + 1 highlow = raw_input("\nIs it", guess, "?:") while guess != number: if highlow == "lower": guess = random.randrange(100) + 1 guess highlow = raw_input("\nIs it", guess, "?:") print "\nHaha! I win!" raw_input("\n\nPress enter to exit game.") 随机输入 数字=原始输入(“\n您的数字1-100是什么?:”) 猜测=随机。随机范围(100)+1 高低=原始输入(“\nIs it”,猜测“?:”) 猜猜看!=编号: 如果highlow==“lower”: 猜测=随机。随机范围(100)+1猜测 高低=原始输入(“\nIs it”,猜测“?:”) 打印“\nHaha!我赢了!” 原始输入(“\n\n按回车退出游戏。”)
您的问题是,您提供了
raw\u输入
三个参数,而它需要一个;)

但是,说真的:看起来像
raw\u input(“is it”,guess,“?:”)
的调用应该使用Python的字符串格式来格式化传递给
raw\u input的字符串
raw\u input(“is it%s?”(guess,)

或者,使用格式化方法(在Python 2.6中介绍):

或者,使用if Python3:

highlow = raw_input("\nIs it {}?:".format(guess))

此行传递3个参数

highlow = raw_input("\nIs it", guess, "?:")
格式化外部字符串或格式化内部字符串

mystr = "\nIs it %s ?;" % guess
highlow = raw_input(mystr)


我不知道这意味着什么,我已经写了十几个程序。在这之前,一切都进展顺利。我不知道如何使计算机的“猜测”小于或大于先前给定的数字。这似乎与您在此处发布的问题不同。如果我的解决方案(或其他解决方案)对您有效,您应该向上投票并接受它(或他们),然后针对您的其他问题提出一个新问题。我在替换原始输入(“是%s吗?”%(猜测,))时遇到了相同的错误。您是否已将所有调用更改为
raw\u input
?正如我所说的,我是新手。不知道你的意思。我把你写的东西粘贴到代码中,而不是我让它怎么写的,它给了我同样的错误。
highlow = raw_input("\nIs it", guess, "?:")
mystr = "\nIs it %s ?;" % guess
highlow = raw_input(mystr)
highlow = raw_input("\nIs it %s ?;" % guess)