我刚开始使用python。当我呼唤我的功能时,我遇到了问题。当我传入用户输入时,它不会打印出来。如果我在loopit()中定义一个数字,那么该函数将打印出来。
计划:
def loopit(i):
numbers=[]
while i < 6:
print "At the top i is %d" % i
numbers.append(i)
i= i+1
print "Numbers now:" , numbers
print "At the bottom i is %d" % i
print "The numbers :"
for num in numbers:
print num
print "Please input a number"
loopit(raw_input("> "))
输入: 2
期望的输出:
At the top i is 2
Numbers now: [2]
At the bottom i is 3
The numbers :
At the top i is 3
Numbers now: [2, 3]
At the bottom i is 4
The numbers :
At the top i is 4
Numbers now: [2, 3, 4]
At the bottom i is 5
The numbers :
At the top i is 5
Numbers now: [2, 3, 4, 5]
At the bottom i is 6
The numbers :
2
3
4
5
实际输出:
####-Air:Lpthw #####$ python ex33.py
Please input a number
> 2
#####-Air:Lpthw ####$
所以在将用户输入插入循环后,我没有得到我正在寻找的打印输出。但是,当循环中没有参数和定义的变量时,输出会正确打印出来。
我不知道如何解决这个问题,我可能错过了一些东西,请帮忙:)。
非常感谢!
答案 0 :(得分:1)
在def loopit(i):
中,您使用i
作为int
。
但loopit(raw_input("> "))
将输入转换为string
。你应该做转换。
试试这个
loopit(int(raw_input("> ")))
或强>
def loopit(i):
numbers=[]
i = int(i)
while i < 6:
print "At the top i is %d" % i
.....