Python 询问数字或字母时如何获得有效答案 defmain(): 输入('按enter开始测试…') 计数器=0 总数=0; value=int(输入(“输入temp:或q以退出”)) maxval=值 最小值=值 而价值: 计数器+=1 总数+=价值 如果值>最大值: maxval=值 如果值
问题是当要求Python 询问数字或字母时如何获得有效答案 defmain(): 输入('按enter开始测试…') 计数器=0 总数=0; value=int(输入(“输入temp:或q以退出”)) maxval=值 最小值=值 而价值: 计数器+=1 总数+=价值 如果值>最大值: maxval=值 如果值,python,python-3.x,Python,Python 3.x,问题是当要求temp或q退出时,由于它是intq而不被接受,因为它是str 我试着问一些单独的问题,但是没有正确计算循环数。然后我尝试了ord('q'),它是113。我不知道如何成功地应用该值,或者是否有更好的方法。您应该首先检查其内容,而不是将该值直接转换为int def main (): input('press enter to begin testing...') counter = 0 total = 0; value = int( input ("
temp
或q
退出时,由于它是intq
而不被接受,因为它是str
我试着问一些单独的问题,但是没有正确计算循环数。然后我尝试了
ord('q')
,它是113
。我不知道如何成功地应用该值,或者是否有更好的方法。您应该首先检查其内容,而不是将该值直接转换为int
def main ():
input('press enter to begin testing...')
counter = 0
total = 0;
value = int( input ("Enter temp: or q to quit " ))
maxval = value
minval = value
while value:
counter += 1
total += value
if value > maxval:
maxval = value
if value < minval:
minval = value
value = int( input ("Enter temp: or q to quit "))
print ( 'Total is: ', total)
print ('Counter is: ', counter)
if counter != 0:
print ('Average is: ', total / counter)
print ('Minimum is: ', minval)
print ('Maximum is: ', maxval)
不要将值直接转换为
int
,应首先检查其内容:
def main ():
input('press enter to begin testing...')
counter = 0
total = 0;
value = int( input ("Enter temp: or q to quit " ))
maxval = value
minval = value
while value:
counter += 1
total += value
if value > maxval:
maxval = value
if value < minval:
minval = value
value = int( input ("Enter temp: or q to quit "))
print ( 'Total is: ', total)
print ('Counter is: ', counter)
if counter != 0:
print ('Average is: ', total / counter)
print ('Minimum is: ', minval)
print ('Maximum is: ', maxval)
非常感谢你。那很有帮助,非常感谢。这很有帮助