我是新手程序员。 我想输出最小的输入值,但不知道怎么回事。
输入示例:
10
10 4 2 3 6 6 7 9 8 5
输出示例: 2
n = int(input())
a = input().split()
min=a[0]
for i in range(n) :
if a[i] < min :
min = a[i]
print(min)
有什么问题吗?请帮帮我
答案 0 :(得分:0)
您的代码应该可以工作(对我来说也是如此)。
尽管如此,min
是 Python 保留字。考虑到这一点,我还建议进行以下更改,使其更加地道:
a = input().split()
min_num = a[0]
for element in a:
if element < min :
min = element
print(min)
答案 1 :(得分:0)
变量可以是数字或字符串。例如“2”与 2 不同。
函数 split 返回一个字符串数组。如果要进行数字比较,则需要将每个转换为数字,例如:
n = int(input())
a = input().split()
min=int(a[0])
for i in range(n) :
if int(a[i]) < min :
min = int(a[i])
print(min)
注意:您已经对 n(原始代码中的第一行)执行了此操作,但是在访问 a 时您没有执行相同的操作。
答案 2 :(得分:0)
所以,min
实际上是 Python 内置的,在这种情况下会非常有用。此外,您没有将 a
中的输入值转换为整数,因此我们也可以这样做:
n = int(input())
a = list(map(int, input().split()))
print(min(a))
我们使用 map
将拆分列表中的所有值转换为整数,然后将地图对象转换回列表。然后,使用 min
,我们可以很容易地找到最小的数,无需 for 循环。
答案 3 :(得分:0)
我认为您应该在比较之前将每个元素转换为整数。
a = [int(i) for i in input().split()]
您的代码应该可以工作,但它会将字符串与字符串进行比较,而不是将整数与整数进行比较。