【发布时间】:2021-10-04 18:25:28
【问题描述】:
基本上,我正在尝试构建一个代码以从用户的输入中获取最大的数字。这是我第一次使用 for 循环,我对 python 还是很陌生。这是我的代码:
session_live = True
numbers = []
a = 0
def largest_num(arr, n):
#Create a variable to hold the max number
max = arr[0]
#Using for loop for 1st time to check for largest number
for i in range(1, n):
if arr[i] > max:
max = arr[i]
#Returning max's value using return
return max
while session_live:
print("Tell us a number")
num = int(input())
numbers.insert(a, num)
a += 1
print("Continue? (Y/N)")
confirm = input()
if confirm == "Y":
pass
elif confirm == "N":
session_live = False
#Now I'm running the function
arr = numbers
n = len(arr)
ans = largest_num(arr, n)
print("Largest number is", ans)
else:
print(":/")
session_live = False
当我尝试运行我的代码时,会发生这种情况:
Tell us a number
9
Continue? (Y/N)
Y
Tell us a number
8
Continue? (Y/N)
Y
Tell us a number
10
Continue? (Y/N)
N
Largest number is 9
有什么解决办法吗?
【问题讨论】:
-
可以使用内置的
max()函数吗? -
return max应该与for的缩进级别相同,而不是if。 -
@KenY-N WOAHH 它已修复,很酷,没关系,它仍然无法正常工作
-
@Barmar 我想是的,但不要从我这里拿走它,我对 python 还是很陌生
标签: python arrays function for-loop input