![]() | |
| | #1 (permalink) |
| Üye Üyelik Tarihi: 05/2007 Yer: Sakarya
Mesaj: 116
|
arkadaşlar python ile ilgileniyorum bazı şeyler aklıma takıldı bazılarını anlayamadım.. a = "deneme" for i in a: print i bu kodu yazınca sırayla d, e, n,... harflerini yazıyor, burda i yerine başka bir harf kullanınca da aynı şey, ne manaya geliyor bu kod mantığını anlayamadım? ikincisi şu şekilde birşey yapmak istiyordum: deneme.py dosyasına dışardan komut verilecek, örneğin deneme.py <rakam> yazınca yazdığım rakam kadar işlem yapacak. biraz araştırdım bunun sys kütüphanesiyle yapıldığını öğrendim(yanlışsa düzeltin) sanırım argv ile yapılıyormuş. buraya kadar doğruysa soruma geleyim.. idle ile çalışıyorum, sys kütüphanesini ekledim, daha sonra şu şekilde bir satır kabul ediliyor: deneme = sys.argv[0] burda 1. si argv[0] ne manaya geliyor, internetten birkaç örnek inceledim şu şekildeydi, deneme.py <argv1> <argv2> ... fakat ben sys.argv[1] yaptığımda şu şekilde bir hata alıyorum: Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> asd = sys.argv[1] IndexError: list index out of range acaba yanlış şeyle mi uğraşıyorum? aklımda bir sürü soru vardı ama unuttum aklıma geldikçe ekleme yapacağım düzenleme: aklıma geldi, türkçe karater problemim var birde, idle da türkçe karakter kullandığımda problem olmuyor fakat kaydettiğimde türkçe karater varsa program açılmıyor, coding 1254 ü denedim yine olmadı, çalıştırma şeklimde şu şekilde: c:\python25\python.exe deneme.py. |
| | |
| | #2 (permalink) |
| Üye Üyelik Tarihi: 05/2004 Yer: İzmir
Mesaj: 28
|
#dosya adi = deneme.py import sys adi = sys.argv[0] soyadi = sys.argv[1] print "Adi : ", adi print "Soyadi : ", soyadi ################ bu kodları deneme.py adı ile kaydedip komut satırından; python.exe deneme.py Ahmet Yilmaz yazarsanız eknara Adı = Ahmet Soyadı = Yilmaz yazar. Eğer deneme.py den sonra isim ve soyisim olmak üzere iki değer girmezseniz hata mesajı alırsınız. Hata mesajı almak istemiyorsanız try, except kullanmalısınız. |
| | |
| | #4 (permalink) |
| Üye Üyelik Tarihi: 05/2007 Yer: Sakarya
Mesaj: 116
|
bir soru daha sorayım, aşağıda yazdığım koddaki amacım, girilen şifrenin önce rakam olup olmadığını kontrol etmek, eğer rakam değilse hata mesajı vermek, rakamsa kontrol etmek ama bir türlü çalıştıramadım.. Kod: sifre = "152045"
def kontrol(x):
if x != sifre:
print "sifre yanlis"
else:
print "afferim girdin"
def rakam(y):
if type(y) != type(1):
print "rakam gir"
kontol(y)
a = raw_input("sifre gir:")
try rakam(a):
return kontol(a)
except:
print "yanlis girdin"
|
| | |
| | #5 (permalink) |
| Üye Üyelik Tarihi: 05/2004 Yer: İzmir
Mesaj: 28
|
İlk sorunuzda; a string bir değişkendir. Onu for döngüsüne sokarak döngünün her seferinde a değişkeninin tuttuğu değerin bir harfi ile işlem yapıyorsunuz. Bu döngüyü benim_adim = "Onder" değişkeni ile yaparsanız; for i in benim_adim: print i her seferinde Onder'in bir harfini ekrana yazar. Aynı döngüyü for a in benim_adim seklinde de yazabilirdiniz veya for siradaki_harf in benim_adim: print siradaki_harf String değer tutan bir değişkenle pek anlamlı görünmüyor ama farzedin ki veritabanından bir miktar veri çektiniz ve bunları bir değişkene atadınız. Çektiğiniz veri 1-A sınıfındaki öğrencilerin isimleri olsun; ogrenciler = ['Ahmet Yilmaz', 'Veli Kahraman', 'Sema Korkmaz', 'Cemil Kurt'] for siradaki_ogrenci in ogrenciler: print siradaki_ogrenci, "1-A Sinifi Ogrencisidir" dediğinizde aşağıdaki gibi bir çıktı alırsınız. Ahmet Yilmaz 1-A Sinifi Ogrencisidir Veli Kahraman 1-A Sinifi Ogrencisidir Sema Korkmaz 1-A Sinifi Ogrencisidir Cemil Kurt 1-A Sinifi Ogrencisidir -- Onder Cankurt |
| | |
| | #6 (permalink) |
| Üye Üyelik Tarihi: 05/2007 Yer: Sakarya
Mesaj: 116
|
sonunda return kullanmadan yaptım, fakat return ün kullanımı istediğim şekilde olsaydı çok daha rahat olacaktı, hala return'un kullanımını anlayamadım, yaptığım şekli: Kod: sifre = 1234
def kontrol(gelen):
if gelen == sifre:
devam()
else:
print "yanlis sifre girdiniz"
tekrar(giris)
def devam():
print "guzel giris yaptin aferim"
def tekrar(yanlisgelen):
print "sifre %d degil" % yanlisgelen
try:
giris = int(raw_input("sifre gir la: "))
kontrol(giris)
except:
print "sifre rakam olcak"
onun dışında __init__ ve self i anlabilecek varmı? anladığım kadarıyla class'ların ilk fonksiyonları help __init__ oluyor, self i de hep şu şekilde görüyorum def __init__(self) |
| | |
| | #7 (permalink) |
| Üye Üyelik Tarihi: 05/2007 Yer: Sakarya
Mesaj: 116
|
kodu şu şekilde değiştirdim sanırım daha iyi oldu Kod: sifre = 1234
def kontrol(gelen):
if gelen != sifre:
tekrar(gelen)
def devam():
print "guzel giris yaptin aferim"
def tekrar(yanlisgelen):
print "sifre %d degil" % yanlisgelen
try:
giris = int(raw_input("sifre gir la: "))
kontrol(giris)
except:
print "sifre rakam olcak"
|
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| Sertifikaya Yönelik Java Eğitimleri | muharrem_tac | Duyurular & İlanlar | 0 | 01/11/2007 23:42 |
| PHP ve Nesneye Yönelik Programlama... | Sahin | PHP | 12 | 04/09/2007 21:09 |
| projem hakkında sorular, sorular... | mthT | PHP | 22 | 17/06/2004 02:13 |
| Nesneye Yönelik Programlama! | sımone | Genel Programlama | 4 | 29/04/2004 14:43 |
| NYP: Nesneye Yönelik Programlama | LEthaL | C / C++ | 2 | 29/05/2003 13:14 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |