Python Da For Dongusu
-
sniperscope bunu yazdı
haaaa, demekki python butun stringleri array a ceviriyor...
simdi benim 3 no'lu soruma cevap bulmam gerekiyor.
for($i = 5; $i <= 8; $i++)
gibi bir donguyu python da nasil olusturabilirim?
/* Konu Disi */
@Zumsuk hocam bana kibris ithalat yonetmeligi ve otomotiv hakkinda bilgi verecektin ne oldu?
/* Konu Disi */
Hocam eğer c dillerini biliyorsan , kelimeyi şu şekilde tnaımlarız ;
char murid[50]
gibisinden. Yani karakter. Fakat array olarak 0'dan 49'a atar.
p = 'python'
print p[2]yaptığında sana t harfini bastırır. Yukarıdaki nedenden ötürü. Dillerin atası b'dir. Sonra C'yi geliştirdiler. Bütün mantık aynıdır, standarttır.
----
yukarıdaki sorunun cevabıda ;
for i in (5,9):
print idir. 5'ten başlar, 9'da son bulur ama 9'u basmaz.
/*özel mesaj gönderiyorum*/
edit : ekleme ;
ingilizcen varsa ;
http://docs.python.org/2/tutorial/index.html
eğer 3 kullanıyorsan da ; 3'ün olayına bak. Hiç diğer yerlerde vakit kaybetme derim.
İngilizcen yoksa ;
edit 2:
http://www.youtube.com/watch?v=tKTZoB2Vjuk
Yukarıdaki Google Python Class. 3 gündü sanırım ve 1 günde bir kaç ders var. Devamını bulursun (başlığı youtube'da yazıp).
Yine Google'ın Understanding Python adlı videosu var ;
http://www.youtube.com/watch?v=HlNTheck1Hk
Bunların dışında youtube'da güzel videolar var. Onlara göz atabilirsin.
Ayro tarafından 09/Nis/13 17:29 tarihinde düzenlenmiştir -
for döngüsünü oluştururken "enumerate" fonksiyonunu "start" değişkeni olmadan kullandığın için varsayılan olarak 0'dan başlar.
Şöyle yapabilirsin,
for i, l in enumerate(fp, start=7):
gibi,Bu diğeri, süslü parantezlerin olmamasının nedeni TAB karakterlerinin parantezlerin yerini tamalayabiliyor oluşu.
-
cevaplariniz icin tesekkurler.
Yavas yavas mantigi kavramaya basladim gibi. Biraz daha ornek yazsam tamamdir.
-
Adam geçtiya la beni :P
-
Ka1nsha bunu yazdı
Adam geçtiya la beni :P
-
Yine dongu sorunu.
def main(): a, b = 0, 1 while a < b: print( b, end = '' ) # a = a + 1 a, b = b, a + b if __name__ == "__main__": main()
yukaridaki ornek; gorsel anlatim dersinde sorunsuz calisiyor ama ayni kod benim bilgisayarimda syntaxerror veriyor.
Hata ciktisi asagidaki gibi. Neden ayni kod orada calisiyorda bende calismiyor?
File "C:\Users\ibrahim\Documents\java_projects\aa\loop_while", line 6 print( a, end = '' ) ^ SyntaxError: invalid syntax
-
Çıktısı ne peki yukarıdakinin ?
Öte yandan adam python 3 mü yoksa 2 mi kullanıyor ?
Sen ne kullanıyorsun ?
--
Birde şu görsel anlatımları geç bi.
Sana siteler verdim, Google'dan videolar verdim. Onlara bak.
Ayrıca ufak bir proje ile uğra. Dersi dinleyip, aynısını deneyerek olmaz. Proje yap, projede ne gerekiyorsa araştırarıp, yaparak devam et.
Şu yukarıdaki kodun sana hiçbir katkısı olmaz söyleyelim.
--
Örneğin şöyle birşey yap ;
sadece A ve B girilsin. Birde * işareti.
ABBABBABB*AAAAAAAA
gibi birşey gireyim.
Yıldızdan önceki ve sonrakiler eşit değilse(uzunluk), uyarsın. Değilse ;
yıldızdan öncekiler, yıldızdan sonrakilerin tam tersi olması gerek. Bunu yap.
Yani ;
ABB*BBA
olursa doğru çıksın. Geri kalan yanlış. Şunlar doğru olacak ;
AABB*BBAA
AB*BA
ABBABB*BBABBAvs...
Ondna sonra ;
TAH**RI*BA*TT*
yazayım. Gelen veriden, her yıldız gördüğünde ekrana bir öncekinin çıktısını bastırsın. Yani yukarıdaki çıktı ;
HAIAT
--
Bunun dışında postfix prefix olaylarına girişebilirsin.
5+6*8-3 'ü postfix'e çevireceksin. Yada girilen değerleri.
3+6'nın postfixi : 36+ 'dır.
Veya postfix girilen değeri ; hesaplatıp bastır.
----------
Yukarıdaki gibi print içine fantazi yaparak olmaz bu işler.Boşver bunları.
-
al hafiz.
Ilk sorunun cevabi :
#! /usr/bin/python/ def main(): x = False while x == False: a = raw_input( "ilk kelimeyi giriniz :" ) b = raw_input( "ikinci kelimeyi giriniz :" ) if a == "quit": break try: if len( a ) != len( b ): print( "girdiginiz kelimelerin uzunluklari esit degil" ) else: print( "her iki kelimede ayni uzunlukta" ) break except AttributeError: print( "sadece ENTER tusuna basip durmayin" ) if __name__ == "__main__": main()
Kalaninida yarin ofiste yaparim, burada saat sabahin 3 u oldu. yatacam
-
Ben böyle yaptım ama uzun oldu sanırım böyle :(
# -*-coding:cp1254 -*- a = [] b = [] veri = raw_input("Veri gir") cee = veri.split("*") b.append(cee[0]) a.append(cee[1]) for i in a: ilkdeger = len(i) for c in b: ikincideger = len(c) if ilkdeger != ikincideger: print "Verilerin uzunlukları eşit değil" else: print "Her 2 kelimede aynı uzunlukta"
-
Yok bu parçası. Mantık şu olacak ;
girilen veriyi al.
Eğer A, B ve * harici kullanılmışsa , ekrana "geçersiz karakter" bastır.
Yıldız'ı bul; yıldızdan sonraki ve önceki karakterlerin toplamına bak ; eğer eşit değillerse , ekrana 'yıldızın iki tarafı eşit olmalı' bastır.
Ondan sonra bizim işlemlere geçeceğiz ;
Yıldızdan öncesi ve sonrası yansıma olmalı. Simetrik olacak yani. AB ise yıldız sonrası BA olacak.
-----
Yukarıdaki birinci program. Birde * gördüğünde bir öncekini bastırma var. Mantığı farklı olabilir.
Yani yıldız gördüğünde ; ekrana yıldızdan öncekini bastırıp, yıldız ve yıldız öncekini silmek ; sonra baştan yine kontrol edip (ta ki ana array'de yıldız kalmayıncaya kadar) işlemi devam ettirmek var.
---
3. mevzuda postfix olayı. Önemlidir. Linkler ;
http://www.rasitdemirel.com/infix-postfix-prefix-gosterim.html
http://forum.ceviz.net/c-c/24157-infix-postfix-conversion-evaluation.html
Öte yandan her zamanki gibi açtığım, önemli olan ama siklenmeyen konu ;
http://www.tahribat.com/Forum-Infix-Postfix-Prefix-Ozellikle-Bikkin-Matematik-Sorulari-Icin-147971/
------
Programlamayı bu tarz mantıklarla öğrenirsiniz. Videoları eğitim semineri verenler (hele birde Türk ise) abuk subuk, saçma sapan şeyler anlatıyor.
Data structure tarzı derslere küfür etmiştim üniversitede ama ; güzel antremanlar bunlar.