Rstattin Postad 25 mars, 2014 Share Postad 25 mars, 2014 Hej! Jag har alldeles nyss börjat lära mig Python via olika tutorials och har nu testat att göra ett eget script. Med detta program eller script vill jag kunna översätta ett ord till ett eget språk som sedan kan översättas tillbaka med hjälp av det andra scriptet/programmet som jag har. Men jag har stött på problem ganska så snabbt... Ta en titt på min kod nedan: #Test add_one = "k" original_word = raw_input('Enter a word and hit "ENTER":') #Har under ar dar ordet kommer forvandlas #2\\ first_letter = original_word[0] new_word = original_word + first_letter + add_one new_word = new_word[1:len(new_word)] #2// #Har under skriver jag villkoren for att det ska visas ett nytt ord if len(original_word) > 0 and original_word.isalpha(): print new_word else: print "You must enter a word that does not contain any numbers and should have atleast one letter" #Nu nar man startar upp det har scriptet sa kommer forst programmet fraga efter ett ord som man vill skriva ned, tryck sedan ENTER. Exempel sa skriver jag "TEST" och klickar ENTER. Nu har programmet sparat ordet "TEST". #I steg #2 sa andras nu ordet "TEST" till ett nytt ord: "ESTTk" #Nu vill jag gora ett annat program som kan "oversatta" mina ord fran detta program sa att de blir forstaerligt. Alltsa i detta fall vill jag oversatta ordet "ESTTk" sa att ordet blir det ursprungliga ordet "TEST" #Jag testade att skriva en kod som ser ut sahar: #1\\ add_one = "k" #1// #2\\ SML_word = raw_input('Enter a word to translate it to a normal word and press "ENTER":') #2// #3\\ word_length_one = len(SML_word) #\/Subtract the letter that was originally the first one original_first_letter = SML_word[word_length_one - 2] nearly_original_word = original_first_letter + SML_word original_word = nearly_original_word - add_one #Har forsoker jag alltsa ta bort sista bokstaven "k" #3// print original_word #Nu nar jag testar denna kod sa far jag detta felmeddelande: Enter a word to translate it to a normal word and press "ENTER":ESTTk Traceback (most recent call last): File "/Users/rstattin/Desktop/test.py", line 43, in <module> original_word = nearly_original_word - add_one TypeError: unsupported operand type(s) for -: 'str' and 'str' #Varfor kan man inte subtrahera (i detta fall bokstaven k) bokstaven genom att skriva "- add_one" (add_one ar ju samma sak som att skriva ut bokstaven k) Om du har något tips eller vet hur jag ska skriva så ber jag om denna hjälp! Vill lära mig mer och mer för detta tycker jag är kul! Även om du har något nybörjartips eller tips på hur man skall lära sig så tar jag gladeligen emot all hjälp och alla tips! Länk till kommentar Dela på andra webbplatser More sharing options...
xeric Postad 25 mars, 2014 Share Postad 25 mars, 2014 Hej! Jag har alldeles nyss börjat lära mig Python via olika tutorials och har nu testat att göra ett eget script. Med detta program eller script vill jag kunna översätta ett ord till ett eget språk som sedan kan översättas tillbaka med hjälp av det andra scriptet/programmet som jag har. Men jag har stött på problem ganska så snabbt... Ta en titt på min kod nedan: #Test // ... #Nu nar jag testar denna kod sa far jag detta felmeddelande: Enter a word to translate it to a normal word and press "ENTER":ESTTk Traceback (most recent call last): File "/Users/rstattin/Desktop/test.py", line 43, in <module> original_word = nearly_original_word - add_one TypeError: unsupported operand type(s) for -: 'str' and 'str' Som det står där så verkar inte "minus" vara tillåtet mellan 2 strängar. Är jätte dålig på Python. Ngt som man eg skulle vilja lära sig ngn gång, men ligger väligt långt ner på listan. I a f... Provade köra koden i Terminalen - så ingen "raw_input". Körde med fasta variabler istället. Eftersom jag har Python3 är "print" en funktion: print("text text"). # Test 1 # ------ test_var = "TEST" add_one = "k" original_word = test_var first_letter = original_word[0] new_word = original_word + first_letter + add_one new_word = new_word[1:len(new_word)] if len(original_word) > 0 and original_word.isalpha(): print(new_word) else: print("You must enter ...") # Resultat: TEST -> ESTTk # Test 2 # ------ test_var = "ESTTk" add_one = "k" SML_word = test_var word_length_one = len(SML_word) original_first_letter = SML_word[word_length_one - 2] nearly_original_word = original_first_letter + SML_word # den gamla... #original_word = nearly_original_word - add_one _len = len(nearly_original_word) original_word = nearly_original_word[0:_len - 2] # -2 för gamla första bokstaven + k # eller som en 1liner #original_word = nearly_original_word[0:len(nearly_original_word) - 2] print(original_word) Om det är rätt sätt att göra det på vet jag inte, men det funkade. Länk till kommentar Dela på andra webbplatser More sharing options...
Rstattin Postad 25 mars, 2014 Författare Share Postad 25 mars, 2014 Som det står där så verkar inte "minus" vara tillåtet mellan 2 strängar. Är jätte dålig på Python. Ngt som man eg skulle vilja lära sig ngn gång, men ligger väligt långt ner på listan. I a f... Provade köra koden i Terminalen - så ingen "raw_input". Körde med fasta variabler istället. Eftersom jag har Python3 är "print" en funktion: print("text text"). # Test 1 # ------ test_var = "TEST" add_one = "k" original_word = test_var first_letter = original_word[0] new_word = original_word + first_letter + add_one new_word = new_word[1:len(new_word)] if len(original_word) > 0 and original_word.isalpha(): print(new_word) else: print("You must enter ...") # Resultat: TEST -> ESTTk # Test 2 # ------ test_var = "ESTTk" add_one = "k" SML_word = test_var word_length_one = len(SML_word) original_first_letter = SML_word[word_length_one - 2] nearly_original_word = original_first_letter + SML_word # den gamla... #original_word = nearly_original_word - add_one _len = len(nearly_original_word) original_word = nearly_original_word[0:_len - 2] # -2 för gamla första bokstaven + k # eller som en 1liner #original_word = nearly_original_word[0:len(nearly_original_word) - 2] print(original_word) Om det är rätt sätt att göra det på vet jag inte, men det funkade. Tack så hemskt mycket! Nu skall jag försöka knåpa vidare och lära mig mer Men tack så mycket för hjälpen! Länk till kommentar Dela på andra webbplatser More sharing options...
xeric Postad 25 mars, 2014 Share Postad 25 mars, 2014 Tack så hemskt mycket! Nu skall jag försöka knåpa vidare och lära mig mer Men tack så mycket för hjälpen! Har ett litet py-script jag hittade en gång när jag höll på med ett bashscript, ifall du vill ha och kika på. memReport.py.txt Ta bort .txt på slutet Länk till kommentar Dela på andra webbplatser More sharing options...
Rstattin Postad 25 mars, 2014 Författare Share Postad 25 mars, 2014 Har ett litet py-script jag hittade en gång när jag höll på med ett bashscript, ifall du vill ha och kika på. memReport.py.txt Ta bort .txt på slutet Tack! Ska ta mig en titt Länk till kommentar Dela på andra webbplatser More sharing options...
xeric Postad 28 april, 2014 Share Postad 28 april, 2014 Såg en bra sida med olika “Cheat Sheets” igår: overapi.comHär finns den med python: http://overapi.com/python/Finns även 2 pdf'er där man kan ta ner. Länk till kommentar Dela på andra webbplatser More sharing options...
Rstattin Postad 28 april, 2014 Författare Share Postad 28 april, 2014 Såg en bra sida med olika “Cheat Sheets” igår: overapi.com Här finns den med python: http://overapi.com/python/ Finns även 2 pdf'er där man kan ta ner. Tack! Ska ta en titt! Länk till kommentar Dela på andra webbplatser More sharing options...
xeric Postad 30 oktober, 2014 Share Postad 30 oktober, 2014 Här har du en riktigt bra lista med resurser/läsning.https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#pythonBlev ett bokmärke direkt på den sidan. Länk till kommentar Dela på andra webbplatser More sharing options...
Rstattin Postad 30 oktober, 2014 Författare Share Postad 30 oktober, 2014 Här har du en riktigt bra lista med resurser/läsning. https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#python Blev ett bokmärke direkt på den sidan. Tack så mycket! Länk till kommentar Dela på andra webbplatser More sharing options...
xeric Postad 20 november, 2014 Share Postad 20 november, 2014 Här var en sida som blev en ny favoritsida: http://www.it-ebooks.info/search/?q=Python&type=titleMånga av de kända böckerna ligger där. Länk till kommentar Dela på andra webbplatser More sharing options...
treebeard Postad 26 december, 2014 Share Postad 26 december, 2014 Hej. jag läste inte hela koden i detalj, men kan ändå ge några idéer på hur du kan gå vidare: Strängar har inte "minus" implementerat i Python. Det kan du se på att str.__sub__() inte finns om du letar genom giltiga metoder för string-klassen. Int tex har däremot motsvarande metod, därför kan du räkna minus med integers. Det du kan titta på istället är tex str.endswith() ungefär såhär: if nearly_original_word.endswith(add_one): nearly_original_word[:-len(add_one)] Du vill säkert har en else till denna if-sats också, för att säkerställa att du inte gör lustigheter om du får fel input. Notera hur jag använder "-" i indexeringen för att ta bort ett givet antal tecken från slutet utan att veta hur lång strängen är från början. Start-index (0) behöver heller inte anges. Ditt problem skulle gå lösa på andra sätt också, tex med str.split(add_one) som skulle få en lite klumpig lösning eller str.rstrip(add-one), som antagligen skulle fungera i ditt exempel, men skulle ge lustigt beteende i andra fall (rekommenderas inte, annat än för att medvetet gå i fällan att använda fel lösning. Ett annat förslag på lösning, som antagligen är snyggare men inte direkt lämpligt att introducera för en nybörjare (eftersom du bör lära dig standard sträng-operationer först) är att använda regexp. Länk till kommentar Dela på andra webbplatser More sharing options...
Rekommendera Poster
Arkiverat
Det här ämnet är nu arkiverat och är stängt för ytterligare svar.