Wir haben ein Englisch-Latin-Wörterbuch in unseren Händen, dh eine Liste von Wörtern in englischer Sprache und ihre Übersetzungen in Latein (es können mehrere Übersetzungen vorhanden sein) in Form einer Datei mit folgenden Inhalten:
apple - malum, pomum, popula
fruit - baca, bacca, popum
punishment - malum, multa
< /code>
Es ist erforderlich, ein Skript zu schreiben, das ein Wörterbuch aus Dateien unter Verwendung der übertragenen Pfade liest und ein lateinisch-englisches Wörterbuch aus dem Wörterbuch erstellt. Das Ergebnis sollte auf dem Bildschirm angezeigt werden.baca - fruit
bacca - fruit
malum - apple, punishment
multa - punishment
pomum - apple
popula - apple
popum - fruit
< /code>
Wenn verschiedene Dateien unterschiedliche Übersetzungen für die gleichen Wörter enthalten, müssen mehrere Übersetzungen kombiniert werden, wobei nur eindeutige Wörter hinterlassen werden. \ r < /code> < /p>
Beim Vergleich der beiden Ausgänge (mine == notwendig) erhalte ich einen Fehler:
E AssertionError: assert 'baca - fruit\r\nbacca - fruit\r\nmalum - apple, punishment\r\nmulta - punishment\r\npomum - apple\r\npopula - apple\r\npopum - fruit' == 'baca - fruit\nbacca - fruit\nmalum - apple, punishment\nmulta - punishment\npomum - apple\npopula - apple\npopum - fruit'
Mein Code:
import sys
for filename in sys.argv[1:]:
with open(filename, 'r', encoding='utf-8') as f:
res_dict = {}
for s in f.readlines():
cur_word = s.split()[0]
translations = s.strip().replace(',', '').split()[2:]
for i in translations:
if i in res_dict:
res_dict.append(cur_word)
else:
res_dict.setdefault(i, [cur_word])
res = []
for k, v in sorted(res_dict.items()):
res.append(k + ' - ' + ', '.join(v))
print('\n'.join(res).replace('\r\n', ''))
< /code>
Die Eingabedateien befinden sich im klaren Textformat.apple - malum, pomum, popula
fruit - baca, bacca, popum
punishment - malum, multa
< /code>
Das heißt, ich habe immer diesen ekelhaften \ r < /code>, egal was ich tue und ersetze und mache alles, was ich kann. Überall im Code.
Hilfe bitte!def test_from_file(test_input_file, expected_output_file):
"""
The test verifies the correctness of the script output.
Files from the 'test/resources/task3' folder are submitted for input:
- test_input_1.txt
- test_input_2.txt
"""
result = subprocess.run(
["python", os.path.join(SOLUTION_FOLDER_PATH, "task3.py"), test_input_file],
stdout=subprocess.PIPE,
)
student_output = result.stdout.decode().strip()
with open(expected_output_file, "r") as expected_output_file:
expected_output_content = expected_output_file.read().strip()
assert student_output == expected_output_content
< /code>
minimal reproduzierbares Beispiel: < /p>
import sys
for filename in sys.argv[1:]:
words = ['Hello, ', 'World!']
print('\n'.join(words))
< /code>
3 Beispiele: < /p>
'' In Join: AssertionError: Assert 'Hallo, Welt!' < />
'\ r' In Join: AssertionError: Assert 'Hello, \ rwwld!' < /li>
Wir haben ein Englisch-Latin-Wörterbuch in unseren Händen, dh eine Liste von Wörtern in englischer Sprache und ihre Übersetzungen in Latein (es können mehrere Übersetzungen vorhanden sein) in Form einer Datei mit folgenden Inhalten:[code]apple - malum, pomum, popula fruit - baca, bacca, popum punishment - malum, multa < /code> Es ist erforderlich, ein Skript zu schreiben, das ein Wörterbuch aus Dateien unter Verwendung der übertragenen Pfade liest und ein lateinisch-englisches Wörterbuch aus dem Wörterbuch erstellt. Das Ergebnis sollte auf dem Bildschirm angezeigt werden.baca - fruit bacca - fruit malum - apple, punishment multa - punishment pomum - apple popula - apple popum - fruit < /code> Wenn verschiedene Dateien unterschiedliche Übersetzungen für die gleichen Wörter enthalten, müssen mehrere Übersetzungen kombiniert werden, wobei nur eindeutige Wörter hinterlassen werden. \ r < /code> < /p> Beim Vergleich der beiden Ausgänge (mine == notwendig) erhalte ich einen Fehler: E AssertionError: assert 'baca - fruit\r\nbacca - fruit\r\nmalum - apple, punishment\r\nmulta - punishment\r\npomum - apple\r\npopula - apple\r\npopum - fruit' == 'baca - fruit\nbacca - fruit\nmalum - apple, punishment\nmulta - punishment\npomum - apple\npopula - apple\npopum - fruit'[/code] Mein Code: import sys for filename in sys.argv[1:]: with open(filename, 'r', encoding='utf-8') as f: res_dict = {} for s in f.readlines(): cur_word = s.split()[0] translations = s.strip().replace(',', '').split()[2:] for i in translations: if i in res_dict: res_dict[i].append(cur_word) else: res_dict.setdefault(i, [cur_word]) res = [] for k, v in sorted(res_dict.items()): res.append(k + ' - ' + ', '.join(v)) print('\n'.join(res).replace('\r\n', '')) < /code> Die Eingabedateien befinden sich im klaren Textformat.apple - malum, pomum, popula fruit - baca, bacca, popum punishment - malum, multa < /code> Das heißt, ich habe immer diesen ekelhaften \ r < /code>, egal was ich tue und ersetze und mache alles, was ich kann. Überall im Code. Hilfe bitte!def test_from_file(test_input_file, expected_output_file): """ The test verifies the correctness of the script output. Files from the 'test/resources/task3' folder are submitted for input: - test_input_1.txt - test_input_2.txt """ result = subprocess.run( ["python", os.path.join(SOLUTION_FOLDER_PATH, "task3.py"), test_input_file], stdout=subprocess.PIPE, ) student_output = result.stdout.decode().strip()
with open(expected_output_file, "r") as expected_output_file: expected_output_content = expected_output_file.read().strip()
Dieser Code führt eine Menge unnötiger Verarbeitung durch. Beispielsweise ist für die Nummer 3 eine ihrer Partitionen 1+1+1, aber es findet auch nach der ersten weiterhin „1+1+1“. Es gibt insgesamt...
Es wurde versucht, eine Python-Azure-Funktion lokal auszuführen, aber es wird ein
„Microsoft.Azure.WebJobs.Script: WorkerConfig für Laufzeit: Python nicht gefunden“ angezeigt.
Das ist trotz ein venv...