[英]How can i save these type of while loop result into multiple data frame in python?
[英]How do i save multiple results from a input() function in a while loop, not the last result only in Python?
作業所以問題來了,我要編寫一個程序,該程序接受用戶的輸入,直到他寫“完成”。 發生這種情況時,我應該取最大和最小值並將它們打印出來。
問題當我寫“完成”時,它告訴我我無法將 str 與 int 進行比較,而且它不會存儲我在 input() function 中寫入的每個值。
編碼
while True:
number = input("Enter number:")
if number == "done":
break
largest = None
for value in number:
if value > largest or largest is None:
largest = value
print("after:", largest)
smallest = None
for value in number:
if value < smallest or smallest is None:
smallest = value
print("after",smallest)
您在每個循環周期覆蓋number
。 使用容器來保存數字:
numbers = []
while True:
number = input("Enter number:")
if number == "done":
break
else:
numbers.append(int(number))
print(numbers)
output:
Enter number:1
Enter number:2
Enter number:3
Enter number:done
[1, 2, 3]
注意。 我還假設您想使用整數,所以我提供了轉換(如果您輸入的不是整數,這將失敗)。 此外,由於您的任務很簡單(最小值/最大值)並且不需要提前知道更多的數字,我建議在 while 循環中計算這些最小值/最大值。 這將比再次閱讀 2 次列表更有效(見下文)。
numbers = [] # not needed if you don't want the list as output
smallest = float('inf')
largest = float('-inf')
while True:
number = input("Enter number:")
if number == "done":
break
else:
number = int(number)
numbers.append(number) # not needed if you don't want the list as output
if number > largest:
largest = number
if number < smallest:
smallest = number
print(numbers, smallest, largest)
output:
Enter number:1
Enter number:3
Enter number:2
Enter number:done
[1, 3, 2] 1 3
我建議使用 min/max,如下所示:
numbers = []
while True:
ans = input("give me a number: ")
if not ans or ans == "done":
break
try:
ans = int(ans) # we dont want to add this if it's not really a number
numbers.append(ans)
except:
print("please give me an integer!")
print(numbers,min(numbers),max(numbers))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.