Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

Python driller! (easy)

Af Ultra Supporter dgaa1991 | 08-10-2015 20:39 | 1461 visninger | 15 svar, hop til seneste
Hej folkens. endnu engang må jeg have fat i jer kloge hoveder! jeg er stille og roligt gået i gang med at lære python "Learn python the hardway" med python 2.x jeg er nået til trin 13 http://learnpythonthehardway.org[...] og har fået opgaven : skriv et script der har færre argumenter og et der har flere argumenter end den oprindelige kilde kode. så mit forsøg på at skrive et de rhar færre ser således ud : -------------------------------------------------------- from sys import argv nina, louise, aagaard = argv print "What is your first name:", nina print "What is your middle name:", louise print "what is your last name:", aagaard -------------------------------------------------------- men når jeg køre det i terminale får jeg dette output og jeg kan simpelthen ikke gennemskue hvorfor da det oprindelige script har flere argumenter!? : -------------------------------------------------------- [root@daniel-pc code]# python ex13.1.py nina louise agaard Traceback (most recent call last): File "ex13.1.py", line 3, in <module> nina, louise, aagaard = argv ValueError: too many values to unpack -------------------------------------------------------- Det skal sige hvisjeg køre det i terminalen med kun do værdier er det intet problem? jeg får dog kun first, middle name
--
#1
tuwk
Elite Supporter
08-10-2015 20:59

Rapporter til Admin
Så vidt jeg kan se, så starter du ikke med dit script, men direkte med dine argumenter. I øvrigt... Hvorfor ikke Python 3.4?
--
Jeg synes, at en signatur er unødvendig.
--
Sidst redigeret 08-10-2015 21:01
#2
dgaa1991
Ultra Supporter
08-10-2015 21:07

Rapporter til Admin
Men det burde vel virke alligveld ikke ? men det er fordi python 2.x er det mest brugte stadig og guiden er 2.x, og forskellen mellem 2.x og 3.x er ikke den vilde så det vil være en nem overgang i fremtiden til 3.x tænker jeg.
--
#3
Jante
Juniorbruger
08-10-2015 21:18

Rapporter til Admin
I dit tilfælde består argv af 4 elementer, da navnet på python scriptet er det første element. Skriver du "something, nina, louise, aagaard = argv" virker det.
--
#4
_ensnare_
Monsterbruger
08-10-2015 21:22

Rapporter til Admin
slettet
--
Moral er godt.. Dobbeltmoral er dobbelt så godt! - Se min profil for setup!
--
Sidst redigeret 08-10-2015 21:23
#5
dgaa1991
Ultra Supporter
08-10-2015 22:03

Rapporter til Admin
#3 jeg er ikke helt med men hvis jeg skriver . --------------------------------------------------------- [root@daniel-pc code]# python ex13.1.py nina Traceback (most recent call last): File "ex13.1.py", line 3, in <module> nina, louise, aagaard = argv ValueError: need more than 2 values to unpack --------------------------------------------------------- --------------------------------------------------------- [root@daniel-pc code]# python ex13.1.py nina louise What is your first name: ex13.1.py What is your middle name: nina what is your last name: louise --------------------------------------------------------- men hvordan skal jeg så skrive et script med færrere argumenter hvis det ikke er på denne måde ? Btw vi amngler virkelig et code plugin til HOL!
--
#6
SBargisen
Megabruger
08-10-2015 22:16

Rapporter til Admin
Er det ikke fordi du ændrer i den? Den skal stadig hedde dette; from sys import argv script, first, second, third = argv print "The script is called:", script print "Your first variable is:", first print "Your second variable is:", second print "Your third variable is:", third Går ud fra det her; $ python ex13.py first 2nd 3rd Er sådan du kører variablen. Så du skal skrive; $ python ex13.py nina louise aagaard Den skriver hvad scriptet hedder, og assigner så det første du skriver (nina) til "first" osv. Vil jeg tro.
--
#7
dgaa1991
Ultra Supporter
08-10-2015 22:29

Rapporter til Admin
Den oprindelige fil hedder ex13.py og den jeg selv har skrevet hedder ex13.1.py men når jeg skriver det får jeg denne besked. ----------------------------------------------------[root@daniel-pc code]# python ex13.1.py nina louise aagaard Traceback (most recent call last): File "ex13.1.py", line 3, in <module> nina, louise, aagaard = argv ValueError: too many values to unpack -------------------------------------------
--
#8
SBargisen
Gigabruger
08-10-2015 22:33

Rapporter til Admin
Har du ændret denne; script, first, second, third = argv ???
--
#9
SBargisen
Gigabruger
08-10-2015 22:35

Rapporter til Admin
Ligner du har ændret denne: script, first, second, third = argv til: script, nina, louise, aagaard = argv I så fald, prøv at ændre det tilbage, og så skriv: ex13.1.py nina louise aagaard Der hvor du kører dit script.
--
#10
SteffE
Junior Nørd
08-10-2015 22:35

Rapporter til Admin
Har ikke styr på python. Men dit filnavn kan være et problem pga to punktummer. Prøv med kun ét før fileendelsen
--
#11
SBargisen
Gigabruger
08-10-2015 22:36

Rapporter til Admin
#10 Så vidt jeg kan se er der ikke noget problem med filnavnet, men i selve scriptet han har skrevet, den giver fejl på linje 3, som så kan være linje 2-4.
--
#12
dgaa1991
Ultra Supporter
08-10-2015 22:36

Rapporter til Admin
Det gjorde ingen forskel :S
--
#13
SBargisen
Gigabruger
08-10-2015 22:38

Rapporter til Admin
Hvad sker der hvis du kører scriptet helt normalt? :)
--
#14
inckie
Mega Nørd
08-10-2015 23:03

Rapporter til Admin
#5 Enig der mangler syntax highlight og pre formatting. Du kan paste din kode på pastebin.com eller lignende som et workaround.
--
http://bfgeeks.eu[...] kom og spil Battlefield 1942 og Desert Combat Befri dig selv for daglige overgreb og slet din Facebook konto.
#15
dgaa1991
Ultra Supporter
09-10-2015 11:28

Rapporter til Admin
Jeg fik det til at virke. jeg tror bare jeg havde misforstået meningen med opgaven da jeg troede alle værdier skulle skiftes ud med nye men jeg endte md at fjerne og tilsætte et par stykker.
--

Opret svar til indlægget: Python driller! (easy)

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning