Do you need any help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2021-22 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

[HOMEWORK] Homework 3 optional

andrea.sterbini (172780 points)
513 935 1789
asked Nov 4, 2021 in News by andrea.sterbini (172,780 points)
edited Nov 5, 2021 by andrea.sterbini

NOTICE

  • Corrections to the exercise text will be posted here
    • Notice that the initial example states that the '00' sequence is present 12 times. The correct number is 23.
    • The timeout is 1 second
    • The example is wrong. All frequencies should be shown because 20 is bigger than the max num of sequences. The expected test value is the correct one
  • NOTICE: to disable some safety checks and the timeout, change test_01.py by setting DEBUG=True

Instructions

To complete the homework:

  • Install all the required libraries
  • Download the HW3opt.zip file and unzip it in a directory
    • The archive contains:
      • a problem to be solved, described at the beginning of file program01.eng.py;
        • your job is to complete the ex1 function inside program01.eng.py to solve the problem – adding other functions is allowed;
      • all other libraries and test files needed to run tests on your machine.
  • Enter the HW3opt directory created by unzipping the archive and
    • rename program01.eng.py as program01.py and edit the file to solve the problem;
  • NOTICE: the program should not use input() or print(). All needed parameters are passed to the ex1 function by the test system. Your results are returned to the tests by using return.
  • BEWARE: global variables are forbidden.
  • BEWARE: it's forbidden to import other libraries apart from the ones already imported in the text.
  • NOTICE: your program should be applicable to any correct input (do not exploit data repetitions or particularities).
  • DO NOT LEAVE YOUR TEST FUNCTIONS INSIDE THE PROGRAM, UNLESS THEY ARE AFTER THE LINE
    • if __name__ == '__main__':
      • # Here you can enter your own test instructions
  • To test your program:
    • open an “Anaconda Prompt” window and enter the HW2req directory
    • run the following command
      • pytest test_01.py -v -rA
    • or (test printing also a list of the slowest runs)
      • pytest test_01.py -v -rA --durations 0
    • or (test printing a list of the 20 slowest functions executed)
      • pytest test_01.py -v -rA --profile
    • To stop tests at the first error, add the -x option
    • If you use Spyder:
      • you can run tests from Spyder by first installing the spyder-unittest plugin (but you cannot add parameters to the test execution);
      • you can profile the functions from Spyder by first installing the spyder-line-profiler plugin.

NOTICE: to open and edit text files in the UTF8 format, DO NOT use Notepad (as it does not handle well the Unix linefeed character '\n'). Use Spyder or Notepad++ instead.

This HW has no deadline

Submission

You are required to submit only program01.py

To do so, go to page https://q2a.di.uniroma1.it/homeworks/delivery?homework=3 and submit your file

After some minutes/hours, the homework leaderboard will be updated with your tests results, conducted in a standardized virtual machine.

You can submit your program more than once. The latest submission is the one that counts.

Please log in or register to answer this question.