Как написать этот код на питоне? Код у меня не работает. Какой из них я должен изменить?

Рейтинг: -4Ответов: 1Опубликовано: 26.02.2023
// Pascal
var n:integer;
begin
  write('score = '); read(n);
  case n of
    1..59: writeln(2);
    60..69: writeln(3);
    70..89: writeln(4);
    90..100: writeln(5);
    else writeln('The score is in [0,100]');
  end;
end.

# Python
b = int(input('Score = '))
baholar = {
    range(0,60): '2',
    60<=b<70: '3',
    70<=b<90: '4',
    90<=b<=100: '5'
}
print(baholar.get(b))

Ответы

▲ 0

Можно использовать match-case:

b = int(input('Score = '))

match b:
    case num if 1 <= num <= 59:
        print('2')
    case num if 60 <= num <= 69:
        print('3')
    # и так далее

Можно использовать if-elif:

b = int(input('Score = '))

if 1 <= b <= 59:
    print('2')
elif 60 <= b <= 69:
    print('3')
# и так далее  

Можно использовать словарь с range:

b = int(input('Score = '))

baholar = {
    b in range(1, 60): '2',
    b in range(60, 70): '3',
    # и так далее 
}

print(baholar.get(True))

Можно использовать словарь с неравенствами:

b = int(input('Score = '))

baholar = {
    1 <= b <= 59: '2',
    60 <= b <= 69: '3',
    # и так далее
}

print(baholar.get(True))