Universal Product Code of UPC is een systeem voor artikelnummering met nummers van 12 cijfers, met bijbehorende streepjescode, zie https://nl.wikipedia.org/wiki/Universal_Product_Code1.

Streepjescode

Eén streepjespatroon bestaat uit 95 eenheidsstreepjes (smalle streepjes met een vaste breedte) die elk zwart (1) of wit (0) zijn. Het patroon begint met een Startcode “101”, daarna zes blokjes van 7 streepjes die elk een cijfer voorstellen, daarna de Middencode “01010”, daarna terug zes blokjes van 7 streepjes die elk een cijfer voorstellen, en tot slot de Eind-code “101”.

Een cijfer wordt dus voorgesteld door een blokje van 7 streepjes. De waarde van het cijfer wordt bepaald door de middelste 5 streepjes. Een cijfer in het Linkerdeel is van de vorm “0xxxxx1”, een cijfer in het Rechterdeel is van de vorm “1xxxxx0” (elke letter x staat voor 1 of 0).

De UPC-code kan je dus beschrijven als SLLLLLLMRRRRRRE en is een bitstring zoals hieronder getoond wordt:

bitstring

Opgave

Voorbeelden

Omdat je willekeurige getallen moet genereren, zal je meestal een andere bitstring bekomen.

>>> bitstring(4)
"1001"
>>> bitstring(7)
"1010010"

Ook hier zal je meestal een andere bitstring bekomen.

>>> get_UPC()
"10100000110111111001101100010110100101010111110101100101010000101100110110111011110001001010101"
>>> get_UPC()
"10100100110111101000000100000110011011001111110101101111010110001001000100111010010101100000101"