https://pastebin.com/u/matisarnowski/1/iVCAdBfV
Witam, uprzejmie proszę o pomoc. Tak to już chyba jest, że jak długo się siedzi tylko samemu przed kodem, to nie można potem znależć, co nie gra. W klasie Language.py coś mi nie gra w metodzie set_language_name. Tak podejrzewam. Mianowicie chodzi, o to, że wyrzuca nie ten słownik, co trzeba. Podejrzewam, że nie mam gdzieś właściwego przypisania. Ale już naprawdę dostaje oczopląsu od oglądania tego. Nie stać mnie na profesjonalnego PyCharma, używam do debugowania VSC. Działam na LInuksie, więc może trzeba będzie przy uruchomieniu(jeśli ktoś nie da sobie spokoju wcześniej) zmienić adres ścieżki. Chodzi mi o ukośniki. Ogółem mam taki zamysł, że chciałbym stworzyć dwa słowniki. Jeden z nazwą języka programowania i ilością wystąpień tego języka w input() konsolowym, a drugi z wymaganiami do każdego z tych języków wprowadzanymi póki, co tą samą metodą. Ostatecznie chciałbym to wsyzstko jakoś podłączyć do mądrze napisanego Scrapera, ale ostatnio mam już coraz większe wątpliwości, czy mi takie rzeczy będą wychodzić. Pozdrawiam i z góry dziękuję za pomoc.
Mateusz
#!/usr/bin/python3
from Language import Language
from Requirement import Requirement
def main():
languages = Language()
requirements = Requirement(languages.language_dict)
while True:
language_name = languages.set_language_name()
language_dict = languages.write_dict_language()
while(True):
requirements.set_requirement_name(language_name, language_dict)
requirements.write_requirements_name()
print('Czy chcesz wyjść? T/N')
if input() == 'T':
break
elif input() == 'N':
continue
else:
print('Coś poszło nie tak. ')
print('Czy chcesz wyjść? T/N')
if input() == 'T':
break
elif input() == 'N':
continue
else:
print('Coś poszło nie tak. ')
if __name__ == '__main__':
main()
import os
from pathlib import Path
from ast import literal_eval
class Language():
def __init__(self):
self.language_name = ""
self.language_dict = self.read_dict_language()
def set_language_name(self):
self.language_name = input("Podaj nazwę języka programowania, co do którego przeglądasz ofertę pracy: ")
if self.language_name in self.language_dict.keys() and len(self.language_name) != 0:
self.language_dict[self.language_name] += 1
return self.language_name
elif self.language_name not in self.language_dict.keys() and len(self.language_name) != 0:
self.language_dict[self.language_name] = 1
return self.language_name
else:
print('Nazwa języka nie może być pusta. \n')
self.set_language_name()
def read_dict_language(self):
with open('/home/mateusz/Dokumenty/Dokumenty/informatyka/Python/python_code/projekty_cwiczeniowe-master/RozmowaKwalifikacyjna/dictLanguage.txt') as file:
if Path('/home/mateusz/Dokumenty/Dokumenty/informatyka/Python/python_code/projekty_cwiczeniowe-master/RozmowaKwalifikacyjna/dictLanguage.txt').stat().st_size == 0:
self.language_dict = dict()
return self.language_dict
else:
self.language_dict = eval(file.read())
return self.language_dict
def write_dict_language(self):
with open('/home/mateusz/Dokumenty/Dokumenty/informatyka/Python/python_code/projekty_cwiczeniowe-master/RozmowaKwalifikacyjna/dictLanguage.txt', 'w') as file:
file.write(str(self.language_dict))
return self.language_dict
from Language import Language
from pathlib import Path
from ast import literal_eval
class Requirement(Language):
def __init__(self, language_dict):
self.language_name = ""
self.requirements_name = language_dict
self.requirement_name = ""
self.dict_requirement = self.read_requirement_dict()
def set_requirement_name(self, language_name, language_dict):
if self.requirement_name != {}:
self.requirement_name = language_dict
print("Podaj nazwę wymagania dla języka programowania: ", language_name)
self.requirement_name = input()
self.set_dict_requirement(self.requirement_name)
if language_name in self.requirement_name:
self.requirements_name[language_name] = self.dict_requirement
else:
self.set_dict_requirement(self.requirement_name)
def read_requirement_dict(self):
with open('/home/mateusz/Dokumenty/Dokumenty/informatyka/Python/python_code/projekty_cwiczeniowe-master/RozmowaKwalifikacyjna/dictRequirement.txt') as file:
if Path('/home/mateusz/Dokumenty/Dokumenty/informatyka/Python/python_code/projekty_cwiczeniowe-master/RozmowaKwalifikacyjna/dictRequirement.txt').stat().st_size == 0:
self.dict_requirement = dict()
return self.dict_requirement
else:
self.dict_requirement = eval(file.read())
return self.dict_requirement
def set_dict_requirement(self, requirement_name):
if requirement_name in self.dict_requirement.keys() and len(requirement_name) != 0:
self.dict_requirement[requirement_name] += 1
return self.dict_requirement
elif requirement_name not in self.dict_requirement.keys() and len(requirement_name) != 0:
self.dict_requirement[requirement_name] = 1
return self.dict_requirement
else:
print('Nazwa języka nie może być pusta')
self.set_requirement_name()
def write_requirements_name(self):
with open('/home/mateusz/Dokumenty/Dokumenty/informatyka/Python/python_code/projekty_cwiczeniowe-master/RozmowaKwalifikacyjna/dictRequirement.txt', 'w') as file:
file.write(str(self.requirements_name))