使用用户输入作为分配数据脚本的最小值和最大值
Minimum and maximum using user input as data script for assignment
我实际上开始了一门课程。非常简单的课程,即使我之前没有 Python 经验(该课程被称为“..... for everyone”)
我在完成课程前的最后一项作业,我必须创建一个脚本来查找 5 个不同输入列表的最小和最大数量 (7, 2, bob, 10, 4)
哪个无效以及我的脚本应输出“无效输入”消息。
这是他们给你的基本代码。
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "done" : break
print(num)`enter code here`
print("Maximum", largest)
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "Done" :
break
#print(num)
try:
fnum = float(num)
except:
print('Invalid input')
continue
#for largest in fnum : possible
if largest is None :
largest = fnum
elif fnum > largest :
largest = fnum
#for smallest in fnum : possible
if smallest is None :
smallest = fnum
elif fnum < smallest :
smallest = fnum
print('Maximum is', largest)
print('Minimum is', smallest)
当我键入输入时,所有代码都能正常工作...
但是当我输入“完成”时,脚本就完成了。它总是给我最后一次输入的输入。
我看到了用于相同目的的不同脚本,但我不想复制其他人的任何脚本。我正在学习这门课程,我希望有人能帮我指出错误或给我一些建议。
对于一个 6 天的程序员来说真的不错:-)
小提示:当您计算一系列值的最小值或最大值时,您可以从相反的极限开始。我的意思是,如果您正在寻找最小值,则可以从将变量设置为最大值开始。与其他语言不同,Python 不固定整数限制,但您可以自己修复它们。例如这个表格:
smallest = None
for value in values:
if smallest is None or smallest value < smallest:
smallest = value
return smallest
可以像这样表达得更紧凑一点:
smallest = 1000000 # depending on your needs (in C we would write INT_MAX for instance)
for value in values:
if value < smallest: smallest = value
return smallest
请注意,您永远不会 return 初始值。
终于明白了..这就是我应该做的:
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "Done" :
break
#print(num)
try:
fnum = float(num)
except:
print('Invalid input')
continue
#for largest in fnum : possible
if largest is None :
largest = fnum
elif fnum > largest :
largest = fnum
#for smallest in fnum : possible
if smallest is None :
smallest = fnum
elif fnum < smallest :
smallest = fnum
def done(largest,smallest):
print ("Maximum is", int(largest))
print ("Minimum is", int(smallest))
done(largest,smallest)
感谢@DSPR 的评论。
我实际上开始了一门课程。非常简单的课程,即使我之前没有 Python 经验(该课程被称为“..... for everyone”)
我在完成课程前的最后一项作业,我必须创建一个脚本来查找 5 个不同输入列表的最小和最大数量 (7, 2, bob, 10, 4)
哪个无效以及我的脚本应输出“无效输入”消息。
这是他们给你的基本代码。
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "done" : break
print(num)`enter code here`
print("Maximum", largest)
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "Done" :
break
#print(num)
try:
fnum = float(num)
except:
print('Invalid input')
continue
#for largest in fnum : possible
if largest is None :
largest = fnum
elif fnum > largest :
largest = fnum
#for smallest in fnum : possible
if smallest is None :
smallest = fnum
elif fnum < smallest :
smallest = fnum
print('Maximum is', largest)
print('Minimum is', smallest)
当我键入输入时,所有代码都能正常工作... 但是当我输入“完成”时,脚本就完成了。它总是给我最后一次输入的输入。 我看到了用于相同目的的不同脚本,但我不想复制其他人的任何脚本。我正在学习这门课程,我希望有人能帮我指出错误或给我一些建议。
对于一个 6 天的程序员来说真的不错:-)
小提示:当您计算一系列值的最小值或最大值时,您可以从相反的极限开始。我的意思是,如果您正在寻找最小值,则可以从将变量设置为最大值开始。与其他语言不同,Python 不固定整数限制,但您可以自己修复它们。例如这个表格:
smallest = None
for value in values:
if smallest is None or smallest value < smallest:
smallest = value
return smallest
可以像这样表达得更紧凑一点:
smallest = 1000000 # depending on your needs (in C we would write INT_MAX for instance)
for value in values:
if value < smallest: smallest = value
return smallest
请注意,您永远不会 return 初始值。
终于明白了..这就是我应该做的:
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "Done" :
break
#print(num)
try:
fnum = float(num)
except:
print('Invalid input')
continue
#for largest in fnum : possible
if largest is None :
largest = fnum
elif fnum > largest :
largest = fnum
#for smallest in fnum : possible
if smallest is None :
smallest = fnum
elif fnum < smallest :
smallest = fnum
def done(largest,smallest):
print ("Maximum is", int(largest))
print ("Minimum is", int(smallest))
done(largest,smallest)
感谢@DSPR 的评论。