我已经阅读了其他类似主题的问题,但我只是不理解,而且没有一个能够奏效。所以这是我的代码,我需要做的是让用户输入一个数字,然后决定是否要继续。一旦完成,我调用一个函数来检查他们输入的数字是最小的数字。检查最小数字部分是正确的,但我不能得到是/否输入与其余代码一起工作。请帮忙!
listnum = []
def EnteringNum():
done = False
while not done:
num = input("Enter a number!")
listnum.append(num)
con = raw_input("Do you wish to continue?")
if con.startswith("n") or con.startswith("N"):
exit()
def Smallest(listnum):
lowest = listnum[0]
for i in range(len(listnum)):
if listnum[i] < lowest:
lowest = listnum[i]
print lowest
EnteringNum()
Smallest(listnum)
答案 0 :(得分:0)
而不是exit()
,只需添加break
:
listnum = []
def EnteringNum():
done = False
while not done:
num = input("Enter a number!")
listnum.append(num)
con = raw_input("Do you wish to continue?")
if con.lower().startswith("n"):
break
def Smallest(listnum):
lowest = listnum[0]
for i in range(len(listnum)):
if listnum[i] < lowest:
lowest = listnum[i]
print lowest
EnteringNum()
Smallest(listnum)
答案 1 :(得分:-1)
运行exit()
将退出整个程序。如果您只想结束循环,可以将其更改为
def EnteringNum():
listnum = []
done = False
while not done:
num = input("Enter a number!")
listnum.append(num)
con = raw_input("Do you wish to continue?")
if con.startswith("n") or con.startswith("N"):
done = True
return listunum
或者你可以用
删除if
子句
con = raw_input('Do you wish to continue?')
done = con.startswith("n") or con.startswith("N")
因为con.startswith....
返回一个布尔值。一旦done
变为true
,它就会结束循环。
由于我们现在在函数中初始化listnum
,我们称之为
numbers = EnteringNum()
Smallest(numbers)