kmom02 lab1 valideringsfel för unused variable i loop

  • Författare
  • Meddelande
Användarvisningsbild

kitty

html-guru

  • Inlägg: 63
  • Blev medlem: 07 sep 2012, 10:19

kmom02 lab1 valideringsfel för unused variable i loop

Inlägg05 sep 2014, 12:16

I uppgiften Marvin 1 #9:
Menyval: Slumpmässiga tal. Marvin ska fråga efter min och max och sedan skriva ut 10 slumpmässiga tal mellan min och max. Dessa ska skrivas ut kommaseparerat på samma rad.

jag kör en for-loop 10 gånger för att lösa det, men om man inte använder variabeln som tickar upp så klagar validatorn, så nu är min utskrift otydlig då jag skriver ut 0: 13,1: 8,2: 17,3: 7,4: 14,5: 19,6: 13,7: 18,8: 12,9: 13,

är det tänkt att använda någon annan iterationstyp eller finns det något fin lösning?
Användarvisningsbild

mos

dbwebb

  • Inlägg: 10922
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: kmom02

Inlägg05 sep 2014, 12:22

Njae, vilken kod klagar pylint på?

Kanske ska vi uppfostra .pylintrc.
...
..:
.... /mos
Användarvisningsbild

kitty

html-guru

  • Inlägg: 63
  • Blev medlem: 07 sep 2012, 10:19

Re: kmom02

Inlägg05 sep 2014, 12:41

for x in range(0, 10):
rand = randint(int(mi), int(ma))
strl += str(rand) + ","

den klagar på att jag inte använder x
Användarvisningsbild

Sylvanas

dbwebb

  • Inlägg: 1133
  • Blev medlem: 16 nov 2011, 17:03
  • Ort: Karlskrona

Re: kmom02

Inlägg05 sep 2014, 13:08

kitty skrev:for x in range(0, 10):
rand = randint(int(mi), int(ma))
strl += str(rand) + ","

den klagar på att jag inte använder x


Du ska loopa något 10 gånger om jag har förstått det rätt. Om du använder for x in range så loppar du din range och placerar varje siffra i x. Så ja, den kommer klaga på att x inte används, för det gör den inte. Så det är ett tankefel i din kod. Behöver du x? Nej. Varför har du då skrivit den typen av loop? Finns det andra bättre loopar att använda? Hur gör du det i så fall?
Brain - "Are you pondering what I'm pondering?"
Pinky - "I think so, Brain, but there's still a bug stuck in here from last time."
Användarvisningsbild

mos

dbwebb

  • Inlägg: 10922
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: kmom02

Inlägg05 sep 2014, 14:30

Kikade på det, övervägde att ignorera det felet i pylint men ville egentligen inte det. Kikade på alternativa loopar, men fann inget som tilltalade mig.

Däremot kan man använda ett underscore _ istället för en vanlig variabel som x. Det är ett vedertaget begrepp för "jag bryr mig inte om det värdet", vedertaget i Python-världen, det vill säga. Jag har (ännu) inte sett det i andra programmeringsspråk.

Min loop ser ut så här och går igenom pylint:

Kod: Markera allt
    for _ in range(0, 10):
        rand = random.randint(minVal, maxVal)
        str1 += str(rand) + ","


http://stackoverflow.com/questions/5893 ... -in-python
http://stackoverflow.com/questions/1739 ... -in-python
http://programmers.stackexchange.com/qu ... underscore

Däremot står det inget i manualen om detta, låt det då vara vedertagen praxis att använda _ för saker vi ignorerar (om det behövs).

The special identifier _ is used in the interactive interpreter to store the result of the last evaluation; it is stored in the builtins module. When not in interactive mode, _ has no special meaning and is not defined.

https://docs.python.org/3/reference/lex ... dentifiers
...
..:
.... /mos

jonas81

html-kodare

  • Inlägg: 18
  • Blev medlem: 15 jan 2015, 00:01

Re: kmom02

Inlägg18 jan 2015, 16:52

mos skrev:Det är ett vedertaget begrepp för "jag bryr mig inte om det värdet", vedertaget i Python-världen, det vill säga. Jag har (ännu) inte sett det i andra programmeringsspråk.


Underscore används på samma sätt i Erlang :)

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 9 gäster