Advertisement
Guest User

Untitled

a guest
Jun 6th, 2017
547
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.78 KB | None | 0 0
  1.  
  2.  
  3.  
  4.  
  5. Gustav Brogren 2 veckor sedan
  6. I slutprovet på del 3 undrar jag om det är en kuggis.
  7.  
  8. Vilket/vilka av följande kodsnuttar skriver ut alla 45 ord som finns
  9. i listan ”svar”?
  10.  
  11. Ange de eller det alternativ som är korrekt.
  12.  
  13. Det finns loopar som skulle skriva ut 46 värden, bland svarsalternativen. Anses detta svar rätt? Eller får vi ett fel i programmet om vi försöker skriva ut svar[45] och därmed anses svaret vara fel?
  14. Håkan Wennlöf 2 veckor sedan
  15. Hej!
  16.  
  17. Ja, det är lite dåligt formulerat i uppgiften, tyvärr. Loopar som skulle skriva ut 46 värden är inte korrekta. Vi antar att listans 45 ord finns på de 45 första platserna i listan, så att listan bara har 45 element. Om vi försöker skriva ut ett element som inte finns så får vi då en programkrasch och ett felmeddelande, så ett sånt alternativ är felaktigt
  18.  
  19.  
  20.  
  21. Vänliga hälsningar,
  22.  
  23. Mentorerna / Håkan
  24.  
  25. Jeremiah Otuadimma 6 veckor sedan
  26. Hej!
  27.  
  28. Jag har verkligen fastnat på slutprovsfrågor 2 & 3. Har försökt ett antal gånger men svaret är alltid fel. Vad har jag missat här? kan någon ge ledtråd på hur man hantera dem eller vad jag borde tänker på när jag löser det? obs: när jag försökte i pyton, fick jag alltid " ordet "svar" är inte definierat", vad innebär det?
  29. Håkan Wennlöf 5 veckor sedan
  30. Hej!
  31.  
  32. Ja, det är dåligt förklarade uppgifter det där, tyvärr...
  33.  
  34. Jag ska försöka gå igenom de olika möjliga fallen ordentligt, vad man bör tänka på och sånt.
  35.  
  36. En viktig grej är först och främst att tänka på hur många varv loopen går. Vad blir skillnaden på loopvillkoren i < 5 och i <= 5, till exempel?
  37.  
  38. Vi får ju ett varv extra om även varvet då i är lika med 5 utförs!
  39.  
  40. Det är också viktigt att tänka på vad som ingår i loopen egentligen. Titta på indenteringen (dvs antalet mellanslag/tabbar framför kodraderna).
  41.  
  42. En annan grej som dyker upp ibland är att vi har någon variabel innan vi går in i loopen, typ
  43.  
  44. s = ""
  45.  
  46. eller liknande, och sen börjar loopen. Det som händer då är att vi ger en variabel ett startvärde, och sen inuti loopen, varje varv, så ökar vi på s med något värde!
  47.  
  48. Så vi har där
  49.  
  50. s += lista[i]
  51.  
  52. till exempel. Då lägger vi till element nummer i på variabeln s. Efter att loopen har gått färdigt så kommer s då innehålla alla värden av listan som gåtts igenom!
  53.  
  54. Det är nog huvudgrejerna tror jag...
  55.  
  56.  
  57.  
  58. Det är superbra att du testar i Python, det är så man lär sig bäst! Tyvärr är programmen i de här uppgifterna inte kompletta, utan de behöver ha en definierad lista också. I ditt fall heter alltså listan "svar", och den är inte definierad.
  59.  
  60. Man kan skapa en lista på lista olika sätt, till exempel med
  61.  
  62. ?
  63. 1
  64. lista = ["Anna", "Berra", "Celeborn"]
  65.  
  66. om man vill ha specifika värden i den, eller en tom lista som är 100 element lång med
  67.  
  68. ?
  69. 1
  70. lista = 100*[""]
  71.  
  72. till exempel. Sen finns många fler sätt också, men lättast för att testa tror jag är att dra ner det (ofta stora) tal man vill jobba med, från typ 67 till 3 eller 4, och så göra en lista med riktiga element, så som jag gjorde i det första exemplet här. Principen blir ju precis samma för 3 element som för 67, så det är helt lugnt.
  73.  
  74.  
  75.  
  76. Vänliga hälsningar,
  77.  
  78. Mentorerna / Håkan
  79. Jeremiah Otuadimma 5 veckor sedan
  80. Tusen tack för tipsen. Jag klarade provet!Glad
  81.  
  82. Rasa Salkauskaite 8 veckor sedan
  83. Hej,
  84.  
  85. Jag har en fråga angående slutprov del 3 fråga 2: när alla ord skrivs utan mellanslag, räckans det då som en rätt svar? Jag skapade en lista och testade alla kodsnuttar för att hitta rätt svar och valde också de som skrev ut orden utan mellanslag.
  86.  
  87. Intressant att trots att jag skapade en lista och använde python, så fick jag bara 50% rätt :O?
  88.  
  89. Mvh,
  90.  
  91. Rasa
  92.  
  93.  
  94.  
  95.  
  96. Håkan Wennlöf 8 veckor sedan
  97. Hej!
  98.  
  99. Ja, det räknas som rätt svar om det inte finns några mellanslag (vilket jag personligen tycker är lite fult, det vore så lätt att åtgärda, men... ja, det är så de har designat provet).
  100.  
  101. Men hm! Konstigt att det blir fel om du testat i Python!
  102.  
  103. Om du vill så får du gärna skicka din pythonkod, så kan jag titta på den. mentor@nti.se isåfall. Om du vill så kan du då skicka med de olika alternativen och vilka du tycker är rätt och så också, så kan vi reda ut det! :)
  104.  
  105. Vänliga hälsningar,
  106.  
  107. Mentorerna / Håkan
  108.  
  109. Dolt inlägg 32 veckor sedan
  110. Håkan Wennlöf 32 veckor sedan
  111. Hej!
  112.  
  113. Tyvärr kan vi inte diskutera slutprovsfrågor i forumet, iallafall inte explicit med delsvar, så jag döljer ditt inlägg.
  114.  
  115. För folk som undrar så handlar det om random-frågan. Det är en bra fråga, men jag svarar via mail! Maila gärna mentor@nti.se om ni har specifika tankar om slutprovsfrågealternativ, så tar vi det där!
  116.  
  117. Vänliga hälsningar,
  118.  
  119. Mentorerna / Håkan
  120. Alba Gezelius Bergstresser 31 veckor sedan
  121. Tack så mycket för hjälpen!!
  122.  
  123. Helene Wong 41 veckor sedan
  124. Hej,
  125.  
  126. Angående slutprov 3.
  127.  
  128. Skulle någon vilja vara vänlig och förklara vad s = " " betyder.
  129.  
  130. Vänligen
  131.  
  132. Helene
  133. Mikael Johannesson 41 veckor sedan
  134. Om det står:
  135.  
  136. ?
  137. 1
  138. s = " "
  139.  
  140. ...så betyder det att variabeln s får värdet 'ett mellanslag'.
  141.  
  142. sheila ssozi 43 veckor sedan
  143. hej!
  144.  
  145. jag har fastnat på uppgifter 2 till 5, kan du ge ledtråd om hur man hantera de.
  146.  
  147. Med vänlig hälsning,
  148.  
  149. Sheila Ssozi
  150. Håkan Wennlöf 43 veckor sedan
  151.  
  152. Hej!
  153.  
  154. För uppgift 2 och 3 är det viktiga hur många varv loopen går. Vad blir skillnaden om vi har till exempel i < 5 eller i <= 5 som villkor för loopen?
  155.  
  156. Det är också bra att tänka på vad som egentligen ingår i loopen!
  157.  
  158. För uppgift 4 och 5 är det bra att titta på Kapitel 3.2, om hur man använder index i listor.
  159.  
  160. Om du undrar mer detaljer kan du gärna maila mentor@nti.se med dina tankegångar kring uppgifterna, så kan vi diskutera igenom dem och komma fram till rätt saker!
  161.  
  162. Vänliga hälsningar,
  163.  
  164. Mentorerna / Håkan
  165.  
  166.  
  167. Daniel Turunen 43 veckor sedan
  168. jag har försökt skapa listor i python för att lösa uppgift två och tre i slutprovet men oavsett hur jag gör får jag dels inte listan att fungera och oavsett vilket svar jag väljer så får jag alltid fel på de två frågorna. är det någon som kan förklara vad lösningen är? jag börjar verkligen bli frustrerad
  169. Daniel Turunen 43 veckor sedan
  170. förresten, vad exakt innebär det när man efter ett print använder end=" "? Jag förstår inte vad end=" " gör.
  171. Daniel Turunen 43 veckor sedan
  172. hittade svaret till vad end gör och hur den används men förstår fortfarande inte exakt vad svaret på fråga 2 & 3 är på slutprov 3. ursäkta att samma fråga råkade bli inlagd två gånger.
  173. Daniel Turunen 43 veckor sedan
  174. ÄNTLIGEN! 25 försök senare löste jag provet, skam den som ger sig, eller hur? ;)
  175. Håkan Wennlöf 43 veckor sedan
  176. Hej!
  177.  
  178. Oj, bra jobbat att lösa det! For future reference för andra som ser tråden så gör end= " " som andra argument i en print-sats att ett mellanrum läggs till på slutet av det man skrivit ut. Vanligtvis läggs en radbrytning till, men om man har end=" " så får vi alltså ett space istället. Nästa print-sats som utförs av programmet skrivs då ut på samma rad som det senast utskrivna, istället för på ny rad!
  179.  
  180.  
  181.  
  182. Angående att skapa listor och testa i Python så är ett bra sätt att göra det med hjälp av till exempel
  183.  
  184. ?
  185. 1
  186. lista = [""]*100
  187.  
  188. för att få en lista av tomma textsträngar som man kan leka runt med. Listan blir då 100 element lång. För att få en lista med specifika saker i så kan man skriva
  189.  
  190. ?
  191. 1
  192. lista = ["Anna", "Berra", "Celeborn"]
  193.  
  194. och så vidare!
  195.  
  196.  
  197.  
  198. Slutligen en kommentar om de här uppgifterna; det viktigaste är hur många varv looparna går egentligen. Vad blir skillnaden på om man har < eller <= i loopvillkoret?
  199.  
  200.  
  201.  
  202. Vänliga hälsningar,
  203.  
  204. Mentorerna / Håkan
  205.  
  206. Daniel Turunen 43 veckor sedan
  207. jag har försökt skapa listor i python för att lösa uppgift två och tre i slutprovet men oavsett hur jag gör får jag dels inte listan att fungera och oavsett vilket svar jag väljer så får jag alltid fel på de två frågorna. är det någon som kan förklara vad lösningen är? jag börjar verkligen bli frustrerad
  208. Håkan Wennlöf 43 veckor sedan
  209. Angående att skapa listor och testa i Python så är ett bra sätt att göra det med hjälp av till exempel
  210.  
  211. ?
  212. 1
  213. lista = [""]*100
  214.  
  215. för att få en lista av tomma textsträngar som man kan leka runt med. Listan blir då 100 element lång. För att få en lista med specifika saker i så kan man skriva
  216.  
  217. ?
  218. 1
  219. lista = ["Anna", "Berra", "Celeborn"]
  220.  
  221. och så vidare!
  222.  
  223. Vänliga hälsningar,
  224.  
  225. Mentorerna / Håkan
  226.  
  227. sheila ssozi 43 veckor sedan
  228. Hej!
  229.  
  230. Jag bli fastnat mellan uppgifter 2 till 5. Kan du ge tips om hur man hanterar de.
  231. Håkan Wennlöf 43 veckor sedan
  232. Hej!
  233.  
  234. För uppgift 2 och 3 är det viktiga hur många varv loopen går. Vad blir skillnaden om vi har till exempel i < 5 eller i <= 5 som villkor för loopen?
  235.  
  236. Det är också bra att tänka på vad som egentligen ingår i loopen!
  237.  
  238. För uppgift 4 och 5 är det bra att titta på Kapitel 3.2, om hur man använder index i listor.
  239.  
  240. Hoppas det hjälper lite med att komma igång iallafall!
  241.  
  242. Vänliga hälsningar,
  243.  
  244. Mentorerna / Håkan
  245.  
  246. Håkan Wennlöf 43 veckor sedan
  247. Hej!
  248.  
  249. Vi får många frågor om uppgift 2 och 3 på slutprovet i del 3. Vi har där olika listor som läses in via loopar.
  250.  
  251. Det viktiga i de frågorna är hur många varv loopen går. Tänk på vilket värde den så kallade iterationsvariabeln (ofta betecknad i, m eller n) har i varje loopvarv. Och vad blir skillnaden om vi har till exempel i < 5 eller i <= 5?
  252.  
  253. Det är också bra att tänka på vad som egentligen ingår i loopen!
  254.  
  255. Vänliga hälsningar,
  256.  
  257. Mentorerna / Håkan
  258.  
  259. Elin Laurén 44 veckor sedan
  260. Börjar tröttna lite på detta. Har försökt lösa uppgift 2 och 3 på slutprov 3 jag vet inte hur många gånger. Försöker pröva dem i Python men förstår inte era pointers om listor, har försökt skapa blandade_listor osv som det står om i kurslitteraturen. Skulle uppskatta jätte mkt om jag kunde få lite hjälp med det här.
  261. Olavus Rogowski 44 veckor sedan
  262. Hej Elin
  263.  
  264. Obs! Om du har frågor om någon av kursens slutprov så skicka ett mail till mentorerna på mentor@nti.se istället om du inte kan ställa din fråga utan att avslöja delar av hur man löser uppgiften. Alla inlägg som innehåller hela eller delar av svar på slutprovsfrågor kommer att döljas.
  265.  
  266. Hälsningar
  267. Olavus, mentor
  268.  
  269. Filip Nilsson 44 veckor sedan
  270. Någon vänlig själ som kan förklara uppgift 2 och 3 på slutprov 3? Vet inte var jag tänker fel. Biten med ex: n=0, n < 95 förstår jag.
  271.  
  272.  
  273.  
  274. Så om någon kan förklara varför alternativen är fel respektive rätt, detta hade varit guld värt! Tack! B
  275. Olavus Rogowski 44 veckor sedan
  276. Hej Filip
  277.  
  278. Obs! Om du har frågor om någon av kursens slutprov så skicka ett mail till mentorerna på mentor@nti.se istället om du inte kan ställa din fråga utan att avslöja delar av hur man löser uppgiften. Alla inlägg som innehåller hela eller delar av svar på slutprovsfrågor kommer att döljas.
  279.  
  280. Hälsningar
  281. Olavus, mentor
  282.  
  283. Emelia Johansson 44 veckor sedan
  284. Hej, Har en fråga jag inte kan hitta svaret på någon stans. Vad innebär raden s = "" i en kod inför en whileslinga, t.ex. liknande den nedan?
  285.  
  286. n = 0
  287. s = ""
  288. while n < 77:
  289. ord[n] = input("Ge ord: ")
  290. s += ord[n]
  291. n += 1
  292. Olavus Rogowski 44 veckor sedan
  293. Hej Emelia
  294.  
  295. när man skriver i Python dubbla citattecken utan att ha något mellan dessa så betyder det att man har lagt in en tom sträng i variabeln. Anledningen till varför man vill spara en tom sträng är att man vill kunna definiera en variabel s som man kan sedan använda sig av i sitt program.
  296.  
  297. Hälsningar
  298. Olavus, mentor
  299.  
  300. Margarith Aho 44 veckor sedan
  301. Hej,
  302.  
  303. Har helt enkelt fastnat på 3.2 & 3.3.
  304.  
  305. Någon som kan ge mig en ledtråd för jag ska komma vidare? med respektive fråga?
  306. Visa 5 kommentarer till...
  307. Olavus Rogowski 44 veckor sedan
  308. Hej Margarith
  309.  
  310. Du ska utgå från koden du har på provet samt lägga till en lista för att koden ska kunna fungera, i avsnitt 3.2 så går man genom hur man skapar en lista. Du kan också titta på avsnitt 3.3 för att se hur en kod med lista fungerar(denna kod är bara att kopiera, ta bort radmarkeringarna, in i en programfil och sedan köra).
  311.  
  312. Hälsningar
  313. Olavus, mentor
  314.  
  315. Kim Norberg 45 veckor sedan
  316. Hej!
  317.  
  318. Jag har fastnat på 3.2 och 3.3. Jag har läst frågorna ett antal gånger, provat olika svar, tänkt en hel del, försökt prova programmen genom att skriva in dem i Python (får dock bara felkoden:
  319.  
  320. TypeError: 'builtin_function_or_method' object does not support item assignment) osv.
  321.  
  322. Vad har jag missat?
  323.  
  324. Obs! Om du har frågor om någon av kursens slutprov så skicka ett mail till mentorerna på mentor@nti.se istället om du inte kan ställa din fråga utan att avslöja delar av hur man löser uppgiften. Alla inlägg som innehåller hela eller delar av svar på slutprovsfrågor kommer att döljas.
  325.  
  326.  
  327.  
  328. Dolt inlägg 45 veckor sedan
  329.  
  330. Carl Malmberg 46 veckor sedan
  331. Hej!
  332.  
  333. Jag har försökt att förstå mig på fråga 2 och 3 i slutprov 3, dock har det hittills resulterat i misslyckanden.
  334.  
  335. Ex fråga 2 lyder:
  336.  
  337. Vilket/vilka av följande kodsnuttar skriver ut alla 54 ord som finns
  338. i listan ”ord”?
  339.  
  340. Jag förstår inte riktigt vad jag ska göra, finns det någon "ord" lista som man ska ta ner eller ska man programmera en lista innehållandes 54 ord på egen hand? Om man själv ska göra det så framgår inte det direkt i de olika avsnitten hur man ska gå tillväga. Hoppas på lite ljus i detta mörker från erGlad
  341. Carl Malmberg 46 veckor sedan
  342. Kom äntligen på det! tack ändå Sk�mtsam
  343. Thomas Parfitt 45 veckor sedan
  344. Fundera på samma sak, hur ska man göra?
  345. Olavus Rogowski 45 veckor sedan
  346. Hej Thomas
  347.  
  348. Titta på avsnitt 3.2, tänk på att den lista du skapar inte får innehålla datatypen None.
  349.  
  350. Hälsningar
  351. Olavus, mentor
  352. Thomas Parfitt 45 veckor sedan
  353. Ska man använda
  354.  
  355. blandad_lista = 3
  356.  
  357. fast ändra antalet till det står i uppgiften? Ska man då använda en input för att skapa listan? förstår inte riktigt.
  358. Olavus Rogowski 45 veckor sedan
  359. Hej Thomas
  360.  
  361. Du skapar listan på samma sätt som de gör i teorin på avsnitt 3.2 men istället för att använda datypen None så använd dig av "textsträngar" som är av datatypen str().
  362.  
  363. Hälsningar
  364. Olavus, mentor
  365. Thomas Parfitt 45 veckor sedan
  366. Får fundera på det, jag har ingen aning just nu men tack för hjälpen :)
  367.  
  368.  
  369.  
  370. Karl Bengtsson 46 veckor sedan
  371. Hej,
  372.  
  373. Jag försökte mig på att skriva programmet under avsnitt 3.3 enligt nedan:
  374.  
  375.  
  376.  
  377. ?
  378. 1
  379. 2
  380. 3
  381. 4
  382. 5
  383. 6
  384. 7
  385. 8
  386. 9
  387. 10
  388. antal_namn = int(input("Hur maanga namn vill du mata in? "))
  389. namnlista = antal_namn * [None]
  390. i = 0
  391. while i < antal_namn:
  392. namnlista[i] = input("Ange ett namn: ")
  393. i += 1
  394. j = antal_namn-1
  395. while j >= 0:
  396. print(namnlista[j])
  397. j -= 1Programmet fungerar utmärkt så länge input på rad 5 är siffror, men är input bokstäver (i detta fall "Hans") får jag följande felmeddelande:line 5, in <module> namnlista[i] = input("Ange ett namn: ") File "<string>", line 1, in <module>NameError: name 'Hans' is not definedVad är felet?
  398.  
  399. ?
  400. 1
  401.  
  402. Visa 6 kommentarer till...
  403. Olavus Rogowski 45 veckor sedan
  404. Hej Waldemar
  405.  
  406. För att kunna besvara din fråga måste vi kunna se din kod så att vi kan se vart felet sitter.
  407.  
  408. Hälsningar
  409. Olavus, mentor
  410.  
  411. Sabina Andersson 47 veckor sedan
  412. Har försökt snart 20 gånger på slutprovet nu med fråga 2 och 3. Ena gången blir det rätt i tex fråga 2, men nästa försök blir svarsalternativet som ser ut på EXAKT samma sätt (bara med annan siffra) fel. Ja jag är helt säker på att det är samma struktur. Ena försöket är det rätt, andra är det fel, med samma svar. Kul.
  413.  
  414. Eftersom jag ser att väldigt många haft problem med dessa, kan ni inte försöka formulera om dem så de faktiskt fungerar?!
  415. Olavus Rogowski 47 veckor sedan
  416. Hej Sabina
  417.  
  418. Problemet som många har med frågorna är inte hur de är skrivna utan det är att många inte kör koderna i Python som är meningen man ska göra för att förstå hur ett program kör sin kod. För att koderna ska kunna köras i Python måste du köra dessa genom en fil, detta kan du se hur man gör genom Programmeringsmiljö länken i Bilda(Kursmaterialet). För att koden också ska fungera måste man lägga till en lista högst upp i programmet som innehåller textstränger, gör man allt detta så kommer man kunna köra varje kod och få fram de svarsalternativ som är korrekta.
  419.  
  420. Visa koder har små variationer som gör att de inte fungerar och det är genom att köra dessa genom Python som man finner dessa variationer.
  421.  
  422. Hälsningar
  423. Olavus, mentor.
  424.  
  425. Dolt inlägg 47 veckor sedan
  426.  
  427. Mikael Jörgenstam 48 veckor sedan
  428. Obs! Formateringsfel i HTML på slutprovssidan.
  429. Copyrighten kommer upp som en html tag i klartext istället för den formaterade taggens avsedda text och layout.
  430.  
  431. Jag använder Firefox 47 /Win 7
  432.  
  433. Hanna Lundström 48 veckor sedan
  434. Hej! Jag lyckades inte få rätt svar på slutprovet när jag använde { } som klamrar. Är det någon skillnad på [ ] och { }?
  435. Moa Winberg 48 veckor sedan
  436. Hej Hanna!
  437.  
  438. i python används { } för att definiera en så kallad ordlista, medan [ ] används för vanliga listor. En ordlista och en lista används på olika sätt därför får du inte rätt svar med { }.
  439.  
  440. Vänliga hälsningar,
  441. Mentorerna på Student Lounge
  442. Hanna Lundström 48 veckor sedan
  443. Okej, stort tack! Glad
  444.  
  445. Zara Lindholm Brandt 52 veckor sedan
  446.  
  447. Det enda felet jag fått på detta prov. Trots det kan jag inte förstå varför jag har fel. Tror det är datorn som har fel denna gång, vilket minst sagt är ironiskt.
  448. Mikael Johannesson 52 veckor sedan
  449. Det kan vara ett eller flera alternativ som är rätt. Kanske finns det ett eller ett par till som ger rätt svar mer än det du tror dig ha hittat?
  450.  
  451. Kolla särskilt på om index räknas upp korrekt, om man börjar på 0 eller 1. Se till att du förstår skillnaden på de jämförande '<', '=' och '<='
  452. Zara Lindholm Brandt 52 veckor sedan
  453. Jag hade kollat om hur många gånger som helst innan jag la upp detta här. Inser nu att det var sent på kvällen och att jag hade tänkt fel, jag hade tänkt att listan innehöll siffror, inte text. Men jag har rett ut det nu. Tack för din tid.
  454.  
  455. Fernoush Salehian 54 veckor sedan
  456. Python 3.5.1 shell fönster står först bara bara >>> sen kommer fel meddelande när jag trycker på run module.
  457. Mikael Johannesson 54 veckor sedan
  458. Ja det ska inte stå mer än '>>>'.
  459.  
  460. Att du får ett felmeddelande tyder på att det program du försöker köra inte kan köras för att det finns något fel någonstans i det. Klistra in ditt program här så tittar vi på det!
  461.  
  462. Fernoush Salehian 54 veckor sedan
  463. tack Mikael för ditt svar men det fungerade inte i alla fall samma fel meddelande.
  464. Mikael Johannesson 54 veckor sedan
  465. Vad står det efter c:\> när du skriver ditt kommando (vilken mapp är du i) och vilket kommando skriver du där?
  466.  
  467. Fernoush Salehian 54 veckor sedan
  468. tack Mikael för ditt svar men det fungerade inte i alla fall samma fel meddelande.
  469.  
  470. Fernoush Salehian 54 veckor sedan
  471. varför jag får denna meddelande att :
  472.  
  473. raceback (most recent call last):
  474. File "C:/Users/fsalehia/AppData/Local/Programs/Python/Python35-32/2.py", line 4, in <module>
  475. namn[k] = "namn"
  476. IndexError: list assignment index out of range
  477.  
  478. programet är :
  479.  
  480. k = 1
  481. namn = k * [None]
  482. namn[k] = "namn"
  483. while k < 5:
  484. print(namn[k], end=" ")
  485. k += 1
  486. Mikael Johannesson 54 veckor sedan
  487. Du har skapat en lista namn med en post. Det är nollräkning på index i python så den första posten har nummer 0, den andra nummer 1 osv.
  488.  
  489. På rad 1 sätter du k till 1
  490.  
  491. På rad 2 skapar du en lista med en poster
  492.  
  493. På rad 3 försöker du sätta den andra posten i listan namn till ett värde. Den första posten anropas ju med 0 men du har ju anropat posten med 1 och denna post har du inte skapat ännu.
  494.  
  495. Om rad 3 istället hade sett ut som nedan hade programmet fungerat.
  496.  
  497. ?
  498. 1
  499. namn[k-1] = "namn"
  500.  
  501.  
  502.  
  503.  
  504.  
  505. Samir Gunic 83 veckor sedan
  506. ?
  507. 1
  508. builtins.ImportError: No module named 'strings'
  509.  
  510. Det är felet jag får när jag försöker köra:
  511.  
  512. ?
  513. 1
  514. 2
  515. from strings import *
  516. shortest("katter", "blommor")
  517.  
  518. Är det här pseudokod? På låtsas bara?... eller finns modulen strings på riktigt?
  519. Visa 6 kommentarer till...
  520. Helena Engström 83 veckor sedan
  521. Hej Samir,
  522. ja, det är en hypotetisk modul. Den är med i provet för att ni ska visa att ni förstår konceptet.
  523.  
  524. En funktion som gör det du vill kan till exempel skrivas som:
  525.  
  526. ?
  527. 1
  528. 2
  529. 3
  530. 4
  531. 5
  532. def longest(str1, str2):
  533. if (len(str1)<len(str2)):
  534. return str2
  535. else:
  536. return str1
  537.  
  538.  
  539.  
  540. Mvh/Helena - Mentor
  541.  
  542. Samir Gunic 83 veckor sedan
  543. "För att kunna använda funktionen random() måste man ha importerat modulen random i programmet, med import-satsen. Efter denna sats kan man anropa bland annat funktionen random() som genererar ett slumptal (decimaltal) från och med 0 till 1."
  544.  
  545. ?
  546. 1
  547. 2
  548. from random import *
  549. s_tal = random()
  550.  
  551. Ingår 1 i intervallet då?
  552.  
  553. ?
  554. 1
  555. 0 ≤ s_tal ≤ 1
  556.  
  557. Eller:
  558.  
  559. ?
  560. 1
  561. 0 ≤ s_tal < 1
  562.  
  563. ?
  564.  
  565. Man kan läsa följande på Python webbsidan:
  566.  
  567. "Almost all module functions depend on the basic function random(), which generates a random float uniformly in the semi-open range [0.0, 1.0)."
  568.  
  569. Då betyder det större än eller lika med noll men mindre än ett?
  570.  
  571. "randint(a,b) betyder att slumpa ett heltal, heltalet kommer att vara större eller lika med a och mindre än eller lika med b."
  572.  
  573. Vad menas med det? Hur kan man ha a och b där? Alltså menar man att a och b ska bli slumpade heltal, vilka som helst? Eller menar man antingen a eller b, som redan är definierade?
  574.  
  575. ?
  576. 1
  577. 2
  578. 3
  579. from random import *
  580. s_tal = random()
  581. h_tal = randint(a,b)
  582.  
  583. Det här blir fel:
  584.  
  585. ?
  586. 1
  587. builtins.NameError: name 'a' is not defined
  588.  
  589. Men om jag defineirar a och b först så här:
  590.  
  591. ?
  592. 1
  593. 2
  594. 3
  595. 4
  596. 5
  597. from random import *
  598. s_tal = random()
  599. a = 3
  600. b = 6
  601. h_tal = randint(a,b)
  602.  
  603. Så kan jag köra programmet. När jag skriver ut a och b så har jag 3 för a och 6 för b. Men oavsett hur många gånger jag kör programmet så blir det precis samma värde för a och b hela tiden. Varför ändras det inte? Ska inte a ibland bli 6 och b ibland 3? Är det inte slumpat nu längre när det står randint(a,b)? Måste man skriva randint(3,6) med 3 och 6 som argument direkt i funktionen istället för variabelnamn?
  604. Visa 2 kommentarer till...
  605. Samir Gunic 83 veckor sedan
  606. Det här är ett litet program jag har skrivit för att testa för vilka intervall som random() och randint() fungerar.
  607.  
  608. ?
  609. 1
  610. 2
  611. 3
  612. 4
  613. 5
  614. 6
  615. 7
  616. 8
  617. 9
  618. 10
  619. 11
  620. 12
  621. 13
  622. 14
  623. 15
  624. 16
  625. 17
  626. 18
  627. 19
  628. 20
  629. 21
  630. 22
  631. 23
  632. 24
  633. 25
  634. from random import *
  635.  
  636. d = 0
  637. random_slump = int(input("Hur många decimaltal vill du slumpa fram? "))
  638. print("")
  639. d_tal_lista = random_slump * [None]
  640. while d < random_slump:
  641. d_tal_lista[d] = random() # random tar inga argument
  642. d += 1
  643. print("Utfallet blev:")
  644. print(d_tal_lista)
  645. print("")
  646.  
  647. h = 0
  648. a = int(input("Välj ett heltal a: "))
  649. b = int(input("Välj ett heltal b, sådant att b > a: "))
  650. print("")
  651. randint_slump = int(input("Hur många gångervill du slumpa a och b med randint? "))
  652. print("")
  653. h_tal_lista = randint_slump * [None]
  654. while h < randint_slump:
  655. h_tal_lista[h] = randint(a,b) # randint tar två argument
  656. h += 1
  657. print("Utfallet blev:")
  658. print(h_tal_lista)
  659.  
  660.  
  661.  
  662. Samir Gunic 83 veckor sedan
  663. Är
  664.  
  665. ?
  666. 1
  667. from random import *
  668.  
  669. detsamma som
  670.  
  671. ?
  672. 1
  673. import random
  674.  
  675. ?
  676.  
  677. Är det att man måste ange hela sökvägen för att det där sista ska fungera på samma sätt? Vad är då sökvägen till random modulen?
  678.  
  679. När ska man ha med "from" och när kan man skippa det? Har det alltså med sökvägar och arbetsmappen att göra?
  680. Mikael Johannesson 83 veckor sedan
  681. Använd gärna import random,
  682.  
  683. se diskussion om varför på http://stackoverflow.com/questions/6695798/what-is-the-difference-between-from-random-import-and-import-random-random
  684.  
  685. Sökvägen till random-modulen är nog snarare att du behöver anropa den med både klass och metod, alltså random.random()
  686.  
  687. I de program som ingår i denna kurs är namnkonflikter och andra små nackdelar med den alternativa lösningen marginella så båda alternativen kommer att fungera i praktiken i denna kurs och för andra småprogram du skriver framöver.
  688. Samir Gunic 83 veckor sedan
  689. Tack! Med sökväg så tänkte jag på vägen till filen där random är definierad. Jag gjorde så att jag framkallade ett fel och då dök det upp:
  690.  
  691. C:\Program Files\Python 3.5\Lib\random.py
  692.  
  693. Där bor random trollet. Glad
  694.  
  695. Det ser ut som yen vanlig Pthon fil, och den går att öppna i redigeraren. Men den är mycket längre och mer invecklad än de små program som ingår i den här kursen. Den är 742 rader lång för att vara exakt. Även om man inte förstår allt det där så är det kul att se hur det är uppbyggt, hur man skriver kommentarer, gör indrag, rubriker i koden, med mera.
  696.  
  697. Jag ska inte gräva ner mig för mycket i det här med klasser och objekt, inte för stunden. Men jag förstår vad du menar med klass och metod. Jag har testat lite.
  698.  
  699. Det här fungerar:
  700.  
  701. ?
  702. 1
  703. 2
  704. import random
  705. random.randint(1,9)
  706.  
  707. Det här gör det inte:
  708.  
  709. ?
  710. 1
  711. 2
  712. import random
  713. randint(1,9)
  714.  
  715. Det här fungerar också (används i den här kursen):
  716.  
  717. ?
  718. 1
  719. 2
  720. from random import *
  721. randint(1,9)
  722.  
  723.  
  724.  
  725. Samir Gunic 83 veckor sedan
  726. Brukar man bara definiera funktioner i moduler? Definiera man inte t.ex. variabler och kosntanter i moduler?
  727.  
  728. Vad är skillnaden på en Python modul och ett Python skript? Lagras moduler som filer på datorn? Var finns modulerna som ingår i Python distributionen? Är det moduler som har filändelsen *.pyd (i kontrast mot *.py för skript)?
  729. Mikael Johannesson 83 veckor sedan
  730. Den här frågan ligger lite utanför kursens mål.
  731.  
  732. Se Python Software Foundations dokumentation kring språket, börja gärna på länken nedan
  733.  
  734. https://docs.python.org/3/tutorial/modules.html#packages
  735. Samir Gunic 83 veckor sedan
  736. Jo, det är nog så. Förlåt mig! Jag planerar läsa igenom hela Tutorial delen på deras webbsida när jag är klar med den här kursen.
  737.  
  738. Men jag har egentligen redan besvarat några av dessa frågor i mitt förra inlägg. Modulerna finns på C:\Program Files\Python 3.5\Lib\ på en Windows dator (för 64-bit installation). Det är alltså mappen Lib där Python är installerat.
  739.  
  740. Moduler och skript är samma sak i princip. Bägge har filändelsen py.
  741.  
  742. Samir Gunic 83 veckor sedan
  743. Hur skiljer sig listor i Python från arrays, array lists och collections i andra språk? Kan man påstå att listor i Python är samma sak som array list i Java eller collection i C#?
  744.  
  745. En array tar hänsyn till datatypen. Det gör inte en collection. Så en array kan lagra ett set med tal, eller strängar. Men den kan inte blanda båda typerna. Men det kan en collection göra. Collection är som en hink som man kan stoppa in vad man vill i nästan. Array är mer strikt definierad. Det är så jag har uppfattat det som i alla fall. Men då anses väl listor i Python som en slags collection? För där går det att blanda datatyper i en och samma lista.
  746. Mikael Johannesson 83 veckor sedan
  747. Detta är en av nackdelarna med Python (om man så vill) som har att göra med att man inte behöver deklarera sina variabler. Det går att populera en lista i Python med lite blandade datatyper precis som du insett. Kontrollen av datatyper kan istället ske när man populerar listan eller när man använder objekten i den.
  748.  
  749. Tror samtidigt inte att du kommer att få problem av detta i denna kurs.
  750.  
  751.  
  752.  
  753.  
  754.  
  755. Adam Rosenberg 85 veckor sedan
  756. Är det någon som har en lösning eller ledtråd till slutprovet på fråga 2 & 3 vad gäller kodsnuttar eller någon aning om hur frågan skall tolkas och i vilket kapitel man kan kolla för att se om man kan få häng på dessa frågor främst fråga 2 iallafall.. // Adam
  757. Mikael Johannesson 85 veckor sedan
  758. Gå gärna igenom screencasten på länken nedan!
  759.  
  760. https://www.youtube.com/watch?v=Q3T1yyGQd6o
  761.  
  762. Johanna Simonsson 91 veckor sedan
  763. Hejsan, jag har exakt samma problem som Nils Norström beskrev längre ner i forumet, har suttit i timmar med de två frågorna men blir inte klokare, jag vet inte vad det är jag ska leta efter eller vart det är som jag tänker fel.
  764.  
  765. Oliver Odd 97 veckor sedan
  766. Hej! I steg 3.2 försöker jag min på att skriva en lista men får inte det till att fungera. Ska man inte skriva så här?
  767.  
  768. ?
  769. 1
  770. 2
  771. 3
  772. blandad_lista[0] = 47
  773. blandad_lista[1] = "hej"
  774. print (blandad_lista)
  775.  
  776. När jag kör Run Module får jag upp:
  777.  
  778. Traceback (most recent call last):
  779. File "/Users/user1/Documents/lista.py", line 1, in <module>
  780. blandad_lista[0] = 47
  781. NameError: name 'blandad_lista' is not defined
  782.  
  783. Vad gör jag för fel?
  784.  
  785.  
  786.  
  787. Mvh Oliver
  788. Philip Lunderquist 97 veckor sedan
  789. Tjena!
  790. Skulle själv in här och skriva ett problem, fast så såg jag ditt så jag kan svara på det.
  791.  
  792. Det du har glömt i din kod är att definiera hur många värden som ingår i blandad_lista
  793. Såhär skall det se ut
  794.  
  795.  
  796.  
  797. ?
  798. 1
  799. 2
  800. 3
  801. 4
  802. 5
  803. 6
  804. blandad_lista = 2 * [None]
  805. blandad_lista[0] = 47
  806. blandad_lista[1] = "hej"
  807. print(blandad_lista)
  808. Oliver Odd 97 veckor sedan
  809. Tack för hjälpen :)
  810.  
  811. Lydia Millqvist 97 veckor sedan
  812. I steg 3.5 står det len(färglista)-1. Jag förstår inte förklaring till varför man måste ha -1. Om randint funktionen kan endast gå till index 6 av 7, varför är det inte +1 istället? Och vad är len för något?
  813. Helena Engström 97 veckor sedan
  814. Hej Lydia,
  815. len(färglista) retunerar längden av listan med namn färglista. Eftersom listan har 7 element så kommer len(färglista) att retunera 7. Dessa element är indexerade från 0 till 6. Om du försöker komma åt elementet på plats 7 så kommer du få ett felmeddelande eftersom listan inte har så många element. Därför måste man ha -1, så att man som mest kan fråga efter elementet på index 6.
  816. Vart det klarare?
  817.  
  818. Mvh/Helena - Mentor
  819.  
  820. Dolt inlägg 98 veckor sedan
  821. Helena Engström 97 veckor sedan
  822. Hej Maria,
  823. observera att slutproven är examinerande delar av kursen. Det är här du ska visa att du förstått kursens innehåll. Du kan alltså inte fråga om dessa frågor på forumet vilket också står i forumets välkomsttext. Om du har problem med någon av kursens examinerande delar så kan du kontakta oss mentorer på mentor@nti.se med en förklaring kring vad det är du inte förstår och hur du tänkt kring uppgifterna hittills.
  824.  
  825. Mvh/Helena - Mentor
  826.  
  827. Rand Abdelahad 98 veckor sedan
  828. hej
  829.  
  830. jag har också problem med slutprov fråga 2 och 3. jag fattar inte hur svaret ska formuleras!
  831. Visa 2 kommentarer till...
  832. Helena Engström 97 veckor sedan
  833. Hej Noor,
  834. vad jag kan se fick du svar av oss men sa sedan att du löst frågan själv.
  835. Räkna med att vi svara på mail nästkommande vardag.
  836.  
  837. Mvh/Helena - Mentor
  838.  
  839. Helena Engström 98 veckor sedan
  840. Hej!
  841.  
  842. När jag testar att skriva exemplena i avsnitt 3.4 och 3.5 får jag inte ut något i python shell, jag vet inte vad jag gör för fel? Jag skriver in precis som det står. Ska jag köra from random import* i python shell en gång innan jag skriver in kommandot? Och ska det vara mellanslag mellan import och *?
  843.  
  844.  
  845.  
  846. Dessutom har jag inte riktigt fattat om man ska ha mellanrum eller inte när man skriver ex. namnet på en lista, alltså skriver man
  847.  
  848. färglista = ['röd', 'orange', 'gul', 'grön', 'blå']
  849.  
  850. eller
  851.  
  852. färglista=['röd', 'orange', 'gul', 'grön', 'blå']
  853.  
  854. och spelar det någon roll?
  855.  
  856. Mvh Helena
  857.  
  858.  
  859. Visa 2 kommentarer till...
  860. Mikael Johannesson 82 veckor sedan
  861. Detta är två olika personer med samma namn.
  862.  
  863. Nils Norström 137 veckor sedan
  864. Hej!
  865.  
  866. Jag har också problem med två frågor på slutprovet. Jag får alltid rätt på de andra men har verkligen fastnat på just dessa frågor.
  867.  
  868.  
  869.  
  870. Vilket/vilka av följande kodsnuttar skriver ut alla 95 ord som finns
  871. i listan ”ord”?
  872.  
  873. Ange de eller det alternativ som är korrekt.
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904. m = 0
  905. while m < 95:
  906. print(ord[m], end=" ")
  907. m += 1
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915. m = 0
  916. while m < 95:
  917. print(ord[m], end=" ")
  918. m += 1
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926. m = 0
  927. sum = ""
  928. while m <= 95:
  929. sum += ord[m]
  930. m += 1
  931. print(sum)
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939. m = 0
  940. sum = ""
  941. while m < 95:
  942. sum += ord[m]
  943. m += 1
  944. print(sum)
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952. m = 1
  953. while m < 95:
  954. print(ord[m], end=" ")
  955. m += 1
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963. Vilket/vilka av följande kodsnuttar läser in 65 ord till listan
  964.  
  965. ”ord”?
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996. n = 0
  997. while n < 65:
  998. ord[n] = input("Ge ord: ")
  999. n += 1
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007. n = 0
  1008. while n <= 65:
  1009. ord[n] = input("Ge ord: ")
  1010. n += 1
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020. n = 0
  1021. while n < 65:
  1022. ord[n] = input("Ge ord: ")
  1023. n += 1
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031. n = 1
  1032. while n < 65:
  1033. ord[n] = input("Ge ord: ")
  1034. n += 1
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042. n = 0
  1043. while n < 65:
  1044. s = input("Ge ord: ")
  1045. ord[n] = s
  1046. n += 1
  1047.  
  1048.  
  1049.  
  1050. Tacksam för snabbt svar!
  1051.  
  1052. Mvh Nils
  1053.  
  1054. Visa 6 kommentarer till...
  1055. Helena Engström 108 veckor sedan
  1056. Hej Kevin,
  1057. frågorna är inte felstälda. Har du problem med att lösa dem så kan du skicka dina lösningsförslag till mentor@nti.se
  1058.  
  1059. Mvh/Helena - Mentor
  1060. Jakob Zetterquist 99 veckor sedan
  1061. Tips till er som inte får ihop uppgiften:
  1062.  
  1063. x,y,z anses vara samma svar som x y z, det gäller även
  1064.  
  1065. x
  1066.  
  1067. y
  1068.  
  1069. z
  1070.  
  1071.  
  1072.  
  1073. Alla dessa tre är tydligen "samma" svar. Fick ingen bra motivering varför det är så och är i min mening ologiskt.
  1074.  
  1075.  
  1076.  
  1077. / Jakob
  1078.  
  1079. Sara Lagerkvist 139 veckor sedan
  1080. jag förstår inte uträkningarna på slutprovet! Det gick ju inte igenom sum eller något sånt! inga exempel, hur gör jag?
  1081. Ali Amid 139 veckor sedan
  1082. Vad är frågan?
  1083. Helena Engström 134 veckor sedan
  1084. Hej, det som heter sum i slutprovet är bara en variabel, vilket gås igenom i kurslitteraturen.
  1085.  
  1086. Mvh/Helena - Mentor
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement