OJ сообщает об ошибке компиляции в моей программе на python, даже если она хорошо работает на моем компьютере (Ubuntu 18.04) - PullRequest
0 голосов
/ 25 декабря 2018

я написал простую программу на python для моей домашней работы, которая требует, чтобы мы сложили три целых числа, полученных из входных данных.я отправил его в систему oj (онлайн-судья) моей школы, но у меня появилась «ошибка компилятора»

, программа работает очень хорошо на моем персональном компьютере с Ubuntu 18.04 amd64, но я не могу ее пройтиодж тестя искренне не знаю, что пошло не так, потому что oj не дал никакого сообщения, только окончательный статус "ошибка компилятора"

import sys

a = input()
b = input()
c = input()
a = int(a)
b = int(b)
c = int(c)
answer = a + b + c
print(f"The answer is {answer}")

вот результат, когда я запускаю свою программу на моем компьютере:

ubuntu@VMware:~/python-intro $ python3 1003.py
3
4
5
The answer is 12

и моя компьютерная система:

ubuntu@VMware:~/python-intro $ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.1 LTS
Release:        18.04
Codename:       bionic

как это может быть ошибка компилятора в oj ??я подтвердил, что мой язык представления "Python 3", а не "Python 2" или что-то еще.

Ответы [ 3 ]

0 голосов
/ 25 декабря 2018

Может быть, версия вашего OJ на python 3 не является python 3.6.И вы не можете использовать f-строку в версиях Python ниже 3.6.

Я предлагаю изменить формат вашей строки на:

print("The answer is {answer}".format(answer=answer))
0 голосов
/ 25 декабря 2018

Проблема в основном связана с f-строкой, как указал Амадан.

print (f "Ответ {ответ}") <<< </p>

изменить это с использованием формата иобновить ветку.

print ("Ответ {}". формат (ответ))

0 голосов
/ 25 декабря 2018

f-строк были введены в Python 3.6.В более раннем Python эта строка является синтаксической ошибкой:

print(f"The answer is {answer}")

Чтобы обеспечить совместимость, перепишите ее в

print("The answer is %s" % answer)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...