print("enter the element in list")
list1=input().split()

print(list1)
max = 0
for i in list1:
    if max < int(i):
        max = i

print(f"The maximum number in list is {max} ")

Pojawia się błąd:

if max

-1
Abhishek Diwate 19 grudzień 2019, 21:26
1
Max również musi być int : max = i => max = int(i)
 – 
B. Go
19 grudzień 2019, 21:35
Zrobiłem typecast max do int, ale nie powinien być już uważany za liczbę całkowitą, ponieważ przypisuję 0 do max
 – 
Abhishek Diwate
19 grudzień 2019, 21:44
1
Przypisujesz ciąg do max: max = i po pierwszym sprawdzeniu.
 – 
Patrick Artner
19 grudzień 2019, 22:10
print( max( map ( int, input().split() ) ) ) wyświetli maksymalną liczbę, jeśli wprowadzisz liczby oddzielone spacją
 – 
Patrick Artner
19 grudzień 2019, 22:10

2 odpowiedzi

int(i) nie będzie miało żadnego wpływu na wartość i. Zamiast tego utworzy nową zmienną w pamięci, a wartość i pozostanie niezmieniona, co nadal będzie łańcuchem. Więc max otrzyma wartość ciągu, gdy zrobisz max = i

Zamiast tego powinieneś zrobić

max = int(i)
0
D Dhaliwal 20 grudzień 2019, 18:54
3
for int(i) in list1: jest nieprawidłową składnią.
 – 
iz_
19 grudzień 2019, 23:33

Kilka rzeczy :

Nie cieniuj nazwy wbudowanej metody (tutaj max)

Problem polega na tym, że przypisanie: max = i, max staje się ciągiem znaków.

Możesz zachować ostrożność podczas przypisywania lub przekonwertować wszystko na int.

max = int(i)

Lub list1 = [int(i) for i in input().split()]

Wreszcie, możesz to zrobić dzięki wbudowanemu max. max(l)

0
BlueSheepToken 20 grudzień 2019, 00:06
Dzięki człowieku .. Właśnie zacząłem uczyć się Pythona i naprawdę nie wiedziałem, że [int(i) for i in input().split()] było możliwe
 – 
Abhishek Diwate
20 grudzień 2019, 07:39
@AbhishekDiwate, z przyjemnością ! Nie wahaj się zaakceptować odpowiedzi, jeśli Ci pomogła :) (haczyk po lewej stronie)
 – 
BlueSheepToken
20 grudzień 2019, 11:19