Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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
Function Python 2.7.5,在函数中使用循环并调用函数_Function_Python 2.7_Input_While Loop - Fatal编程技术网

Function Python 2.7.5,在函数中使用循环并调用函数

Function Python 2.7.5,在函数中使用循环并调用函数,function,python-2.7,input,while-loop,Function,Python 2.7,Input,While Loop,我似乎无法多次获得用户输入以显示。例如,如果输入是 Jeff 6 输出应该是 Jeff Jeff Jeff Jeff Jeff Jeff 我不熟悉Python中的函数,但到目前为止,我的代码如下: def getName(): 名称=原始输入(“请输入名称”) 返回名称 def getRepval(): irepnum=float(原始输入(“请输入数字以显示输入的名称”)) 返回irepnum def inamed(名称,irepnum): count=1#显示用户输入的名称的循环 而ir

我似乎无法多次获得用户输入以显示。例如,如果输入是

Jeff 6
输出应该是

Jeff
Jeff
Jeff
Jeff
Jeff
Jeff
我不熟悉Python中的函数,但到目前为止,我的代码如下:

def getName():
名称=原始输入(“请输入名称”)
返回名称
def getRepval():
irepnum=float(原始输入(“请输入数字以显示输入的名称”))
返回irepnum
def inamed(名称,irepnum):
count=1#显示用户输入的名称的循环
而irepnum!=计数:
印刷品名称
计数+=1#我需要使用return吗??
def main():#像这样的main func给了我一个无限循环
irepnum=0
iname=getName()#我想我的问题在这里的某个地方。
irepnum=getRepval()
inamed(irepnum,名称)
main()

您需要调用
inamed(iname,irepnum)
,而不是像现在这样调用
inamed(irepnum,name)

除了未定义
name
这一明显错误(实际变量称为
iname
)之外,错误的顺序会导致函数中的
irepnum
被设置为用户作为name输入的字符串。由于
count
无论多大,都不会与传递的字符串进行比较,因此代码会无限循环

以下几点提示:

  • 学习将
    用于循环和
    xrange
    。对于xrange中的count(irepnum),您需要的习惯用法是
    。(使用它可以防止此错误。)

  • 为您的标识符提供更独特的名称。目前您有一个
    iname
    函数和一个
    iname
    变量。令人困惑

  • 不要在
    int
    就足够的地方使用浮点数。滥用浮动是自找麻烦


您的预期产出是什么,您将获得什么样的产出?你说你在取名字时有问题,但不要说问题出在哪里。我怀疑问题在于调用inamed时,irepnum小于1,因此该函数中的循环永远不会结束。对这样的循环使用小于条件是一种很好的做法,为了防止像这样的潜在超出范围的错误(使用
而不是count
,并将count初始化为0)。我的错误是,当我运行代码时,我得到了一个无限循环,我可以读取它。您必须更具描述性。我希望用户输入的名称显示用户输入数字的次数,因此如果用户输入名称“jeff”和数字“6”,我希望屏幕上打印“jeff”6次。很抱歉用了这么奇怪的措词。我也能读懂,我的意思是对你所遇到的问题进行更多的描述。比如你给出了什么输入,得到了什么输出,等等。具体点,不要只说“我得到了一个无限循环”。看起来你的问题已经得到了回答,但在以后的问题中请记住这一点。感谢你的回答,我正在从一个流程图工具中移动所有这些数据,该工具的语法与python不同,我没有跟踪所有变量,但感谢你纠正了这一点。