У меня проблемы с моей программой, и мои навыки программирования довольно элементарны. Что мне нужно сделать, так это взять введенный список от пользователя и расположить его по букве A (66–100), B (33–65), C (0–32). Я предполагаю, что мне нужно, чтобы введенный список был кортежем, но я не совсем уверен, как это сделать. Я знаю, что мне нужно (или могу) использовать elif для этого, но я не уверен, как сделать это диапазоном между двумя числами для B, поскольку C - это else, а A просто больше, чем. Это мой код:
def scores():
print('we are starting')
count = int(input('Enter amount of scores: '))
print('Each will be entered one per line')
scoreList = []
for i in range(1, count+1):
scoreList.append(int(input('Enter score: ')))
print(scoreList)
print(scoreList)
if scoreList > 66:
print('A')
#elif scoreList > 33:
#print('B')
else:
print ('C')
2 ответа
Просто объедините свои условия, используя логические операторы (and
, or
, not
), и прокрутите каждый элемент в списке:
def scores():
print('we are starting')
count = int(input('Enter amount of scores: '))
print('Each will be entered one per line')
scoreList = []
for i in range(1, count+1):
scoreList.append(int(input('Enter score: ')))
print(scoreList)
print(scoreList)
for score in scoreList:
if score >= 66:
print('A')
elif score >= 35 and score <=65:
print('B')
else:
print('C')
Возможное решение для if-структуры:
for score in scoreList:
if 66 <= score <= 100:
print('A')
elif 33 <= score <= 65:
print('B')
elif 0 <= score <= 32:
print('C')
else:
# handle out of range input
Таким образом, вы можете использовать else
для обработки ввода, который не находится между 0
и 100
.
if score >= 66 … elif score >= 33 … else …
на самом деле то же самое, если предположить, что значение score
находится между 0
и 100
.
score
исходит от пользователя, а люди все время совершают ошибки.
else
, принятие значений за пределами диапазона будет лучшей идеей, чем молчаливая ошибка;)
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.
score
не существует в вашем коде.scoreList
- это список чисел, а66
(и33
) - просто число; вы не можете их сравнивать. Сначала вам нужно будет что-то сделать со своим списком или перебрать его и проверить каждое значение внутри.