Listor I en lista
Hej!
Jag har definierat en funktion och får ingenting utskrivet. Vad är det jag missar?
Du får gärna klippa in koden så skall jag kolla.
Men rent allmänt så skickar du ju in en variabel til funktionen samt börjar med att tilldela variabeln ett annat värde och ändrar sen ytterligare på värdet, det verkar inte logiskt enligt hur jag ser på saken. Men eftersom du nu tilldelat ett annat värde så borde värdet skrivas ut.
Analys skrev:Men rent allmänt så skickar du ju in en variabel til funktionen samt börjar med att tilldela variabeln ett annat värde och ändrar sen ytterligare på värdet, det verkar inte logiskt enligt hur jag ser på saken. Men eftersom du nu tilldelat ett annat värde så borde värdet skrivas ut.
Asså jag vill att den skriver ut listan med [[11,12,13,14] ,[21,22],[31,32,33]]. Jag tänker jag kanske borde skriva typ
def chomp(rowlist):
rowlist= listan jag skrev på bilden
Print(rowlist[0][0:4]). Jag måste ju definiera vad rowlist innebär så den kopplar. Oj jag visste ej ens att jag tilldelade variabeln något. Min avsikt var att definiera inuti parametern, annars klagar den ju..
Analys skrev:Du får gärna klippa in koden så skall jag kolla.
Jag vet ej hur jag man skickar koder och sånt.
Du verkar ju vilja skicka in en parameter till funktionen som du sen inte vill använda, det behövs ju inte.
def chomp():
rowlist = <vad som står på bilden>
print(rowlist)
Analys skrev:Du verkar ju vilja skicka in en parameter till funktionen som du sen inte vill använda, det behövs ju inte.
def chomp():
rowlist = <vad som står på bilden>
print(rowlist)
Precis så ska man skriva men vi behöver få ut en del element ut som jag sa innan. Hur gör vi det? Om vi bara skriver
Def chomp():
Rowlist = det som står på bilden
Print(rowlist)
Så kommer bara hela rowlist ut. Det vill vi väl ej?
destiny99 skrev:Analys skrev:Du får gärna klippa in koden så skall jag kolla.
Jag vet ej hur jag man skickar koder och sånt.
Gå till din Pycharm så att du har koden framför dig Följ nu följande sekvens:
CTRL + A -> CTRL + C -> Gå till pluggakuten -> skapa ett nytt inlägg -> tryck på ikonen {:} -> Ändra språket till Python -> CTRL+V i rutan.
Kanske förstår, skriver en kodsnutt och klistatr in här.
Denna kodsnutt:
def chomp():
rowlist=[["11","12","13","14"],["21","22","23","24"],["31","32","33","34"]]
print(rowlist)
rowlist[1]=rowlist[1][0:2]
rowlist[2]=rowlist[2][0:2]
print(rowlist)
chomp()
skriver ut:
[['11', '12', '13', '14'], ['21', '22', '23', '24'], ['31', '32', '33', '34']]
[['11', '12', '13', '14'], ['21', '22'], ['31', '32']]
Dvs först den fulla matrisen och sen en bantad variant.
Analys skrev:Denna kodsnutt:
def chomp():
rowlist=[["11","12","13","14"],["21","22","23","24"],["31","32","33","34"]]
print(rowlist)
rowlist[1]=rowlist[1][0:2]
rowlist[2]=rowlist[2][0:2]
print(rowlist)
chomp()
skriver ut:
[['11', '12', '13', '14'], ['21', '22', '23', '24'], ['31', '32', '33', '34']]
[['11', '12', '13', '14'], ['21', '22'], ['31', '32']]Dvs först den fulla matrisen och sen en bantad variant.
Okej ja precis men jag vill bara ha dessa
[['11', '12', '13', '14'], ['21', '22'], ['31', '32']]. Hur får jag det?
Då tar du ju bort översta printsatsen, de skriver ju ut den ursprungliga listan av listor.
Analys skrev:Då tar du ju bort översta printsatsen, de skriver ju ut den ursprungliga listan av listor.
Analys,ser denna rätt ut och menar du såhär?
Jag fattar inte vad du har för miljö!
I Python används strikt indentering, allt som ingå i def chomp(): skall vara indenterat 4 space, annars kan koden inte köras.
I övrigt gör koden vad du vill.
Analys skrev:Jag fattar inte vad du har för miljö!
I Python används strikt indentering, allt som ingå i def chomp(): skall vara indenterat 4 space, annars kan koden inte köras.
Vad menar du med miljö? Ser du ej bilden? Okej angående indenteringen så förstår jag.
Analys skrev:I övrigt gör koden vad du vill.
Tack! Det är underförstått.
Måste dock erkänna att jag är nyfiken på varför du vill definera en lista av av listor och sen ta bort vissa element innan du skriver ut den, varför inte definiera den som du vill ha den från början?
Analys skrev:Måste dock erkänna att jag är nyfiken på varför du vill definera en lista av av listor och sen ta bort vissa element innan du skriver ut den, varför inte definiera den som du vill ha den från början?
För att jag följer instruktioner från uppgiften. Tydligen så gör min output precis som de frågar efter men enda som saknas är tre parametrar matris, row and col. Men denna kod verkar göra det de frågar med dessa parametrar trots att row and col ej nämns
Har du lust att dela själva uppgiften? Detta är rena mysteriet för mig!
Analys skrev:Har du lust att dela själva uppgiften? Detta är rena mysteriet för mig!
Yeah.
Man ser inte högra delen av papperet.
Laguna skrev:Man ser inte högra delen av papperet.
Nej det är så även på skolans sida. Uppgiften var konstruerad på det sättet enligt andra studenter jag snackat med.
Gah. Förkasta hela uppgiften.
Laguna skrev:Gah. Förkasta hela uppgiften.
Det får jag ej göra haha.. Då blir jag underkänd.
Ni har ju inte möjlighet att läsa hela uppgiften. Klaga hos rektor.
destiny99 skrev:
Nej det är så även på skolans sida. Uppgiften var konstruerad på det sättet enligt andra studenter jag snackat med.
Nej så kan det inte vara.
Däremot kanske inte allt syns på bildskärmen.
Pröva att förminska (Ctrl-minus eller välj "Zooma" via någon meny).
En sak är iaf tämligen säker, funktionen skall ta inparametrar och returnera en delmängd av första parametern, en matris.
lite oklart för mig dock om hur inparameter 2 o 3 skall påverka, det verkar ev som de skall de skära bort en del av matris, i exemplet det nedre högra hörnet.
det framgår inte heller om funktionen skall returnera en manipulerad kopia av inputmatrisen eller om man göra utskärningarna i inputmatrisen.
Analys skrev:En sak är iaf tämligen säker, funktionen skall ta inparametrar och returnera en delmängd av första parametern, en matris.
lite oklart för mig dock om hur inparameter 2 o 3 skall påverka, det verkar ev som de skall de skära bort en del av matris, i exemplet det nedre högra hörnet.
det framgår inte heller om funktionen skall returnera en manipulerad kopia av inputmatrisen eller om man göra utskärningarna i inputmatrisen.
Ah okej men så som jag gjorde till slut verkar ändå returnera en matris. Kmr ej riktigt på hur jag ska få andra o tredje parameter. Det var där jag fann uppgiften oklart..
Returnera är inte samma sak som att skriva ut.
chomp betyder tydligen bett och det ståmmer ju ganska väl med att skära ut en bit.
min tolking, rad och kolumn betyder skär från och med rad och från och med kolumn till nedre högra hörnet.
Analys skrev:Returnera är inte samma sak som att skriva ut.
chomp betyder tydligen bett och det ståmmer ju ganska väl med att skära ut en bit.
min tolking, rad och kolumn betyder skär från och med rad och från och med kolumn till nedre högra hörnet.
Hm ser ej framför mig hur vi ska få en sån funktion med rader och kolumner. Tror jag satt i 5 h sist och kom ej vidare .. ge mig gärna ett exempel på hur du hade konstruerat en kusin kod till denna om föregående kod ej är rätt..
Lite sent idag men fixar i morgonkväll. Funkar min gissning på vad problemet är i det större sammanhanget vad detta skall användas till?
Analys skrev:Lite sent idag men fixar i morgonkväll. Funkar min gissning på vad problemet är i det större sammanhanget vad detta skall användas till?
Allt jag förstår är att vi ska ha tre parametrar där rad och kolumner skär bort några element i specifik rad och kolumn innan den returnerar matrisen.
så här resonerade jag mig fram till det
>>> a = [["11","12","13","14"],["21","22","23","24"],["31","32","33","34"]]
>>> a
[['11', '12', '13', '14'], ['21', '22', '23', '24'], ['31', '32', '33', '34']]
>>> a[0]
['11', '12', '13', '14']
>>> a[1]
['21', '22', '23', '24']
>>> a[2]
['31', '32', '33', '34']
>>> n = [a[0],a[1],[2][0:2]]
[['11', '12', '13', '14'], ['21', '22', '23', '24'], ['31', '32']]
>>>def chomp(m):
... n = [m[0],m[1],m[2][0:2]]
... return n
>>> b = chomp(a)
>>> b
[['11', '12', '13', '14'], ['21', '22', '23', '24'], ['31', '32']]
def chomp(rowlist,r,c):
for i in range(r,len(rowlist)):
rowlist[i]=rowlist[i][0:c]
return rowlist
rowlist=[["11","12","13","14"],["21","22","23","24"],["31","32","33","34"]]
print(chomp(rowlist,1,2))
Givetvis bör man kolla index etc men denna kodsnutt skär bort det nedre högra hörnet enligt inparametrar.
Analys skrev:Givetvis bör man kolla index etc men denna kodsnutt skär bort det nedre högra hörnet enligt inparametrar.
Vad tycks?