Inlägg

Inlägg som milkshake91 har skrivit i forumet
Av milkshake91
Skrivet av MasteraCe:

<Uppladdad bildlänk>

Lite tråkigt och alla kanske får detta? men alltid något

Funkar fortfarande, eller senast igår när jag beställde sent på kvällen!

Av milkshake91
Skrivet av vanquishkuso:

Löste det sig för dig? Jag är i exakt samma sits. Beställde från Fnac, de skickade fort förra veckan. Var i Danmark i helgen och sedan dess har det inte hänt något. Intressant nog skickade Fnac min Pro controller samma dag i ett separat paket som kom fram i måndags.

Nix, inget nytt sen i måndags. Försenad transport 17:56 enligt PostNord, de ber mig vänta lite till.

Av milkshake91
Skrivet av Escaping Jupiter:

Mitt paket från fnac var i köge i fredags, men sen tog postnord över det i helgen, står att det ska levereras idag mellan 17-22.

Chattade precis med PostNord, de skrev att paketet är kvar i Danmark och att jag bör kontakta leverantören

Av milkshake91

Beställt från Fnac.com tidigare, varit i Køge sen i fredags och i Postnord appen dök det upp att paketet planeras levereras idag mellan 09:30-15:30 men känns inte så troligt eftersom det inte kommit fler uppdateringar...

Av milkshake91

Hade jäkla osis när jag beställde från amazon.fr, lade min beställning i april och igår pingade det till om att det försökte dra från Klarna-kortet utan framgång, så matade in kortuppgifterna igen 2 ggr men pengarna drogs inte av någon anledning trots att jag hade köputrymme. Slutade med att Amazon annullerade ordern, och då ingen annan Switch 2 från Amazon fanns tillgänglig utan endast från andra återförsäljare för runt 750 euro med frakt så får vänta fint…dock meddelade kundservice om att de kommer ge goodwill på 20% på ordern när jag beställt, så kanske är värt väntan

Av milkshake91

Köpte tidigare en Roborock Q7 Max efter tipset om extra 5% rabatt på rean som är på Roborocks egna sida. Fick den i januari men insåg att jag hellre vill ha varianten med självtömning, så jag har försökt nå Roborock för att ordna retur men det verkar inte som de har några anställda som jobbar då jag varken fått svar på det formulär de kräver att man ska fylla i vid önskan om retur eller via den mailadress som står på hemsidan på 10 dagar. Vad fasen gör man då, snart har det gått 30 dagar sedan köpet också?

Av milkshake91
Skrivet av PlogarN97:

Hur ser avtalet ut?

Att du fick rabatt 100:- i 12 mån sedan ordinare pris?

Typiskt nog så hittar jag inte avtalet just nu, men kom överens över telefon om att det skulle vara 100 kr över telefonens avbetalning (dvs 24 månader), men nu hävdar Telenor att det bara är för 12 månader. Men får kika och se ifall jag hittar avtalet hemma någonstans.

Av milkshake91

Jaha då lyfter man på locket igen i denna tråd, då jag inte kommit ur den här soppan så enkelt som jag hade hoppats på.

Fick aldrig erbjudande om att köpa loss min telefon (iPhone SE) till MTK, utan fick teckna abonnemang för att få rabatt. Dealen jag fick av Telenor var 119 kr i månaden för abonnemanget och 80 kr för telefon (ord pris är 219 och 150 kr, alltså rabatter på 100 kr i månaden, samt 70 kr).

Däremot gällde abonnemangsrabatten endast i 12 månader, sedan var jag tvungen att ringa in igen. Nu ser jag att fakturan nästa månad blir högre så testade ringa in nu men då har de tydligen inte möjlighet att lägga samma rabatt igen, utan rekommenderade att jag kunde köpa ut telefonen (150 x 12).

Blir irriterad då detta inte var det jag blivit lovad, och de på save desk ”har inte möjlighet” att ge samma rabatt som jag haft tills nu, sen har de inte noterat något heller från samtalet med den säljaren som hjälpte med och nu sitter jag fast i 12 månader.

Vilken bakväg kan man ta för att få hjälp av Telenor, ni som har varit i kontakt med dem? Exempelvis mailadress till reklamation

Av milkshake91
Skrivet av Poolkeeper:

Om man vill följa pseudokoden så använder de en while loop. Inte optimalt att räkna exponent varje iteration men fungerar.

Håller med att det kanske inte är helt optimalt, särskilt nu när jag förstår att det finns många fler sätt att lösa detta på!

EDIT: Har löst det nu, tack för all hjälp!

Av milkshake91
Skrivet av Yoshman:

def for_bit_pos_msb_to_lsb(value, bit_pos): if bit_pos >= 0: if (1 << bit_pos) & value != 0: # bit_pos är satt else: # bit_pos är inte satt for_bit_pos_msb_to_lsb(value, bit_pos - 1)

Precis, använde mig av rekursivt anrop för att konverta decimalt till binärt.
Om jag går efter ditt tips, definierar jag om den proceduren jag redan gjort ("def dec2bin(värde)" till def dec2bin (värde, bit_pos) i det här fallet) eller definierar jag en helt ny procedur separat? Sedan undrar jag om man inte behöver ha bit 2^bit_pos ifall det är ett rekursivt anrop?

Av milkshake91
Skrivet av Yoshman:

Finns ju ett tips i beskrivningen av uppgiften: skicka med bitbredd till dec2bin(). Detta andra argument kommer i praktiken att vara 8 eller 16 i detta fall, men framförallt ger ett sådant argument en begränsning till hur många tecken du måste skriva ut -> utnyttja det!

Antag denna signatur

def dec2bin(value, bit_width): ....

du kan då lösa problem på detta sätt:

sätt bit_pos till bit_width minus ett så länge som bit_pos är noll eller större kolla om biten "2 upphöjt till bit_pos" är satt, i så fall skriv ut '1' annars skriv ut '0' minska bit_pos med ett

Har försökt följa tipset i beskrivningen men osäker på var det fallerar någonstans. Ser att ditt förslag skiljer sig lite åt den som finns i beskrivningen, men 2 upphöjt till bit_pos (eller antal_bitar) finns med i bägge och även delen med att minska med 1. Har definierat det som följande, men vet inte om jag är i närheten av att lösa det:

def dec2bin(värde, antal_bitar): if värde > 1: dec2bin(värde // 2) print(värde % 2, end = '') bitvärde = 2 ** (antal_bitar - 1) if värde >= bitvärde: print('1') värde = värde - bitvärde else: print('0') antal_bitar = antal_bitar - 1

Får då felmeddelandet "TypeError: dec2bin() missing 1 required positional argument: 'antal_bitar'" så något är ju galet. Som nybörjare blir det lätt att man sitter länge med samma problem och försöker googla fram lösningar utan att komma vidare så uppskattar all den hjälp jag fått hittills!

Av milkshake91

@ludde127: Absolut! Så här ser den ut:

print('Omvandling av decimalt tal till binärt') def dec2bin(value): if value > 1: dec2bin(value // 2) print(value % 2, end = '') ### Nedan stämmer av så inmatade talet är i rätt intervall: invärde_ok = False invärde = 0 while invärde_ok is False: invärde = int(input("Ange ett heltal: ")) if invärde > 65535: print('Fel. Kan inte hantera så stora tal.') elif invärde < 0: print('Fel. Kan bara hantera positiva tal.') else: invärde_ok = True if invärde < 256: print('Talet', invärde ,'ryms i 8 bitar och blir binärt:', ) dec2bin(invärde) else: print('Talet', invärde ,'ryms i 16 bitar och blir binärt:') dec2bin(invärde)

Då det inmatade talet ska omvandlas via procedur så fastnar jag på hur man ska konvertera det till en string som i sin tur kan mata på med nollor.

Av milkshake91
Skrivet av ludde127:

Jag skulle rekommendera att helt enkelt omvandla det till en string och ta str_bin = ((8-len(str_bin)) * "0") + str_bin , detta alltså om den har mindre än 8 bitar ändra 8 till 16 om den behöver mer än 8.

Går detta att genomföra i koden då den i while-satsen stämmer av ifall det inmatade värdet är inom korrekt intervall? Får felmeddelande om jag försöker omvandla det till string nämligen... Är nybörjare som sagt så detta är tyvärr utanför min kunskap.

Av milkshake91

@PeCe: Har problem med att fylla på med inledande nollor (för att motsvara 8 samt 16 bitar), för att så som jag kodat uppgiften hittills är det inmatade talet lagrat som integer. Försökt googla fram hur man fyller på med nollor före men verkar endast gå när det är string.

Hur löser man detta lättast?

Min nuvarande kod ser ut som följande.

Av milkshake91
Skrivet av Yoshman:

För positiva heltal kan du rent matematiskt kan du räkna ut detta genom att addera ett till talet, ta 2-logaritmen och avrunda uppåt till närmaste heltal. Gissar att den lösning är diskvalificerad här då den lämpligen löses genom att utnyttja math modulen i Python.

Annars kan du tänka så här: hur översätts en binärt tal till decimalt? Tar vi 1010 som exempel blir detta

0 * 2^0 + 1 * 2^1 + 0 * 2^2 + 1 * 2 ^ 3 = 0 * 1 + 1 * 2 + 0 * 4 + 1 * 8 = 0 + 2 + 0 + 8 = 10

Omvänt, antal bitar som minst krävs för att representera talet 10 är positionen plus 1 (då datorvärlden börjar räkna positioner från noll...) på den bit vars vikt (2^pos = vikt) är lika med eller större än 10

I.e. något åt det här hållet om vi antar att värdet är ett positivt heltal (faktum är att det även fungerar med noll, d.v.s. alla tal i ℕ)

sätt antal_bitar till 0 gör följande till dess att loopen explicit avbryts addera ett till antal_bitar kolla om 2 upphöjt i värdet hos antal_bitar är större än ditt tal, om jag avbryt loopen annars kör loopen igen antal_bitar har nu det värde du letar efter

Rent krasst behöver du inte ens kolla om antal_bitar överstiger 16, Python kan hantera hur stora heltal som helst (givet att man har tillräckligt med RAM, men det lär vara ett totalt icke-problem i praktiken). I detta fall behöver du ändå det då uppgiften är att dela in talet i en av fyra klasser

  1. negativa tal, dessa förkastas

  2. ta större än 65535, d.v.s. tal som behöver mer än 16 bitar för att representeras, dessa förkastas

  3. tal som kan representeras med 8 eller färre bitar

  4. tal som kräver mer än 8 bitar, men kan representeras med 16 eller färre bitar

Tusen tack för ditt engagemang! Ska kika på detta och hoppas på bra resultat.

Av milkshake91

@Viktorph: Haha känner detsamma! Tror däremot att jag kan ha försvårat till uppgiften, då det är mest syntaxen och anropet mellan proceduren och huvudprogrammet som försvårar det för mig. Men i slutändan vill jag att man ska mata in ett tal, som först körs i huvudprogrammet för att ta reda på att det är inom 16 bitar, sedan via proceduren som konverterar till binära tal och slutligen visar om det ryms i antingen 16 eller 8 bitar. Men det är just kommunikationen mellan dessa två delar som jag inte får till riktigt.

Av milkshake91

@Erik_T: Det blev absolut tydligare med den omformuleringen! Har du också fått denna uppgift att jobba med?

Av milkshake91

Fråga om Python uppgift

Hej, har börjat en inledningskurs för att lära mig mer om Python, men har fastnat på en uppgift som jag försökt klura ut efter sökande på bl.a. w3schools och programiz.

Uppgiften lyder som följande:

https://i.ibb.co/Vxmk8nK/task.png

I kort och gott, ett program som man matar in ett heltal, som sedan konverterar det till binär form samt skriver ut antalet bitar utan att använda inbyggda funktioner, snarare med hjälp av en procedur som inte returnerar någon data.

Här har man fått en pseudokod att gå efter, som finns att läsa här.

Nu kommer vi till krångliga här, som jag upplever det.

Jag har jobbat med funktionen för att det ska kunna skriva ut det binära talet, vilket jag har fått till någorlunda (fungerar när man trycker enter två gånger av någon anledning) och följt psuedokoden (även fast det är riktlinjer, och inte behöver följas slaviskt) så gott jag kunnat.

Däremot fastnar jag helt när jag ska konvertera ett tal till ett givet antalet bitar, vilket jag förmodar ska definieras i procedurdeklarationen allra först i koden, men förstår verkligen inte hur jag får till det, samt att inmatningen skall gå igenom första funktionen samtidigt som den tar hänsyn till. Dessutom vet jag inte om inmatning alls ska ske i första delen alls, eller om det är i huvudprogrammet som det ska ske.

Har suttit i timtals med denna uppgift och även försökt rådfråga utan att komma vidare, men tänker att jag hör är om finns det någon duktig och vänlig själ som ser vart jag gjort fel samt hur jag kommer vidare?

Koden har jag laddat upp här för enkelhetens skull: Länk

Tack på förhand!

Av milkshake91
Skrivet av anon910:

voltfriend40 40% rabatt för de som handlar på Volt

https://voltfashion.com/sv/

Vet du ifall den endast gäller online, eller även i butik?

Av milkshake91
Skrivet av Cenorida:

Står inte förhöjd någonstans, varken från Elgiganten eller Telenor

Så skumt! Borde ju tolkas som att mobilen skulle ingå kostnadsfritt med abonnemanget då, vilket dock varken Elgiganten eller Telenor säkerligen aldrig skulle erkänna. I mitt digitala kvitto står det inte +150kr utan +80kr, men får se vilket det är som gäller så fort Telenor lagt upp mitt avtal digitalt.