好吧,我在制作这个程序时遇到一些麻烦,这个程序会将数字添加到空白列表中,然后让用户选择何时退出程序,当用户选择退出程序时,会自动找到平均值并显示它。但是每当用户退出程序时,它会在列表中添加“q”然后显然会崩溃,因为它无法找到带有字母的平均值。
def listsave():
list1 = []
x = None
while True:
x = input('Enter integer (q to quit):')
if x != 'q':
list1.append(x)
else:
return sum(list1)/len(list1)
答案 0 :(得分:0)
def listsave():
list1 = []
x = None
while True:
x = input('Enter integer (q to quit):')
if x != 'q':
list1.append(float(x))
else:
return sum(list1)/len(list1)
答案 1 :(得分:0)
我是个笨蛋,我想通了。你只需强制python将它作为一个int存储,并在变量附近添加int!
<form ...>
...
</form>
<script type="text/javascript"
src="jquery-1.8.3.min.js"></script>
<script type="text/javascript"
src="jszip-utils.js"></script>
<script type="text/javascript"
src="jszip-utils.min.js"></script>
<script type="text/javascript"
src="FileSaver.js"></script>
<script type="text/javascript"
src="jszip.js"></script>
<script type="text/javascript"
src="downloader.js"></script>
<script type="text/javascript"
src="helpers.js"></script>
答案 2 :(得分:0)
def listsave():
my_list = []
while True:
try:
x = input('Enter integer (q to quit): ').strip()
my_list.append(float(x))
except ValueError:
if x.lower() == 'q':
break
else:
print('Input not an integer or "q"')
continue
return sum(my_list)/len(my_list)
答案 3 :(得分:0)
我建议如下。请注意,您不需要使用x
初始化x = None
(这样做不会被视为Pythonic)。您还希望在try
块中尽可能少地执行操作,这样您就不会无意中发现无关的错误。
def average_from_user_input():
items = []
while True:
item = input('Enter integer (q to quit): ')
if item in ('q', 'quit'):
return sum(items) / len(items) if items else 0
try:
item = int(item)
except ValueError:
print('Please enter integers only')
else:
items.append(item)