• Reset your password

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log in
Hjem
Linuxin 2025

Breadcrumb

  • Hjem
  • forums
  • [LØST] Python hjælp - Problem med at kalde en metode i format-metoden

Hvad kan du med 100% sikkerhed sige, at du har stemt?

Valgmuligheder
Af slettet16019 | 30.11.2011 13:59

[LØST] Python hjælp - Problem med at kalde en metode i format-metoden

Programmering

Hej alle sammen,



Jeg har sat mig for at lære python.



Det er denne kode jeg har problemer med:





def secret_formula(started):

jelly_beans = started * 500

jars = jelly_beans / 1000

crates = jars / 100

return jelly_beans, jars, crates



start_point = 10000



#print ('We\'d have {0} beans, {1} jars, and {2} crates.'.format(secret_formula(start_point)))

print ('We\'d have %d beans, %d jars, and %d crates.' % secret_formula(start_point))




Helt præcist er det de to sidste statements jeg spørgsmål til. Det første statement der er udkommenteret virker ikke, men returnerer en index out of range fejl, mens det sidste statement virker fint. Er der en/nogle der kan forklare mig hvorfor? Og hvordan jeg eventuelt får mit statement til at virke.



Tak på forhånd :)



Lars



EDIT:

Det viste sig at jeg skulle sætte et * før secret_formula() metoden i det udkommenteret statement, så linien nu kommer til at se sådan ud:





#print ('We\'d have {0} beans, {1} jars, and {2} crates.'.format(*secret_formula(start_point)))


  • Log in to post comments

Kommentarer2

13 år 5 måneder siden

Permalink

Indsendt af Kristho den 30. november 2011 kl. 17:55

Permalink

#0Det gør koden mere

#0

Det gør koden mere letlæselig, hvis du bruger dobbelt-plinger (") istedet for enkelt-plinger(') - så slipper du for at lave backslashes i din tekst... f.eks:





print ("We'd have {0} beans, {1} jars, and {2} crates.".format(*secret_formula(start_point)))





Bare et lille tip :)



Derudover er jeg ikke sikker på at jeg synes det er en udbredt god idé at returnere flere værdier af gangen. Fordi du returnerer flere værdier af gangen får du en pokkers masse paranteser i dit print-statement - som gør det svært at læse koden rigtigt. Derfor kan man gøre det, at man gemmer alle værdierne i en liste (list) - og så kalder du metoden/funktionen således (tror jeg nok, er lidt rusten i python):





stores = secret_formula(start_point)





For så kan du lave en print-statement som ser således ud:





stores = secret_formula(start_point)



print ("We'd have {0} beans, {1} jars, and {2} crates.".format(stores[0], stores[1], stores[2]))





Men, som sagt, du må ikke hænge mig op på dette - da jeg normaltvis ikke er Python-koder :) Men det er nu et dejligt sprog.




  • Log in to post comments

13 år 5 måneder siden

Permalink

Indsendt af slettet16019 den 1. december 2011 kl. 08:39

Permalink

Tak for dine tips, det er

Tak for dine tips, det er bestemt noget jeg vil tage med mig :)

  • Log in to post comments

Svar søges

Den er go 0
Vil du have et sikrere og mere privat internet? Du skal blot installere Vivaldi-browseren med Proton VPN understøttelse! 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0
Linux fra begynder til professionel af O'Reilly 0

Seneste aktivitet

Test 2
2 stk Jolla C2 sælges 1
Det første forumindlæg efter installation af Forum-modulet 8
Vanilla OS 12
Nye forum-indlæg viser sig kun 1 gang 1
Vil alle forumindlæg vise sig to gange 1
Hjælp til remote terminal vindue? 3
PCLinuxOS 19
Kan ikke boote på installation 24
80-20 reglen 1
Skærmlys fader ud på min bærbare 8
32 bit distro på max 700mb der stadig understøttes 26
Har vi nogen Linux konsulenter i Slagelse området? 3
Virkelig 7
gnome-software? 3
Archer T2U AC600 Wireless Dual Band USB Adapter 26
En farverig APT 3.0 udgivelse imponerer med sine nye funktioner 2
Unix's fødsel 2
Linux Mint 13
"Intet realistisk alternativ" - mig i r*ven 1

Copyright © 2025 Company Name - All rights reserved

Developed & Designed by Alaa Haddad