File tree Expand file tree Collapse file tree 1 file changed +15
-11
lines changed Expand file tree Collapse file tree 1 file changed +15
-11
lines changed Original file line number Diff line number Diff line change 3
3
Enter numbers for array
4
4
Enter x to stop
5
5
Enter a number 1
6
- Enter a number - 2
6
+ Enter a number 2
7
7
Enter a number 3
8
8
Enter a number 5
9
- Enter a number - 1
9
+ Enter a number 1
10
10
Enter a number x
11
11
12
12
Sample Output:
13
- Maximum subarray sum = 8
13
+ Maximum subarray sum = 12
14
14
"""
15
15
16
-
17
- def get_list () -> list [int ]:
16
+ def get_list () -> list [str ]:
18
17
print ("Enter numbers for array \n Enter x to stop" )
19
18
numbers = []
20
- entry = input ("Enter a number: " )
21
- while entry .lower () != "x" :
22
- numbers .append (int (entry ))
19
+ while True :
23
20
entry = input ("Enter a number: " )
21
+ if entry .lower () == "x" :
22
+ break
23
+ if not entry .isnumeric ():
24
+ print ("Input must only be a non-negative integer" )
25
+ continue
26
+ numbers .append (entry )
24
27
return numbers
25
28
26
29
27
- def max_subarray (arr : list [int ]) -> int :
30
+ def max_subarray (arr : list [str ]) -> int :
28
31
max_sum = float ("-inf" )
29
32
current_sum = 0
30
- if not arr :
33
+ arr_int = list (map (int , arr ))
34
+ if not arr_int :
31
35
return 0
32
- for num in arr :
36
+ for num in arr_int :
33
37
current_sum += num
34
38
max_sum = max (max_sum , current_sum )
35
39
if current_sum < 0 :
You can’t perform that action at this time.
0 commit comments