Python\'a yeni başladım

Başlatan SC_Grimmajow, 02 Kasım 2016 - 21:33:01

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

SC_Grimmajow

Merhabalar!
öncelikle iyi akşamlar, benim adım Bahadır, lise 9. sınıf öğrencisiyim ileride de boğaziçi üniversitesinden bilgisayar/elektrik-elektronik mühendisi olarak mezun olmak istiyorum
bu hedefim için doğal olarak kendimi geliştirme ihtiyacı doğdu.
3-4 haftalık bir araştırma, gözlem sonucunda bir program dili öğrenmek zorunluluğu hissettim.
herkesin bildiği gibi teknoloji hayatımızda çok büyük bir yer işgal ediyor.
daha da fazla işgal etmeye devam edicektir.
şu gelişen dünyada her şeyin yazılımlarla sürdürüldüğü, tüm sistemlerin adapte olduğunu göz önüne alırsak,
bana göre programlama dili öğrenmek de ingilizce öğrenmek gibi bir +'dır.
bilinmesi gerekendir. En kolay öğrenileni de sanırım python'muş
işte bu yüzden python\'a başladım.
istihza'nın pdf'si çok fazla geldi ayrıca elimde kindle gibi bir tablet olmadığı için de gözlerim çok yoruluyordu.
bir kitap aldım :
http://www.idefix.com/Kitap/Yeni-Baslayanlar-Icin-Python/Ahmet-Aksoy/Egitim-Basvuru/Ders-Kitaplari/Teknik-Ders-Kitaplari/urunno=0000000694609?gclid=COLZ6ajYitACFYdAGwodYzkN8A

bu kitap üzerinden çalışıyorum.
advanced inglizcem olduğu için pek zorlanmam diye düşünmüştüm açıkcası, ama bir okyanusa atladığımı yeni fark edebildim.
matematik düzeyim yetmiyor (kayan noktalı sayılar vs)
kendimi dev gibi bir okyanusun içindeki minik bir balık gibi hissettim, bu yüzden bu forum'a katıldım
bazı sorularım var;
-python öğrenebildim diyebilmem için hangi düzeyde olmam gerekiyor?

import math
a=1
b=2
print('a = ',a,'b =',b)
if a>b:
    print(a,'değeri',b,'\'den büyüktür.')
if a<b:
    print(a,'değeri', b,'\'den küçüktür.')
if type(a) is int:
    print(a,'değişkeni bir tam sayıdır.')
if b>0
    c=math.sqrt(4*a+b**2)
    print('(4*a+b**2)\'nin karekökü',c,'\'dir')

kodun'da ban şu hatayı veriyor:

File "<ipython-input-72-82d4c5c185be>", line 11
    if b>0
          ^
SyntaxError: invalid syntax

hatam nerde ?

--Cevaplar için teşekkürler.
forum kurallarını okuyabilme fırsatım olmadı bir şeyler ihlal ettiysem affola.

FireSwords


Toor

Basit bir syntax hatası. If gibi yapılar ve fonksiyonlar tanımlarken ":" kullanman gerekli.

Ayrıca Python hakkında birçok ücretsiz Türkçe kaynak var. İstihza'nın Python 3 kitabı çok güzel. YouTube'da da güzel seriler mevcut. Elektrik-Elektronik istiyorsan algoritma ve temel düzeyde programlama yapısını bilmek yeterli olacaktır. Gömülü programlama ile çok uğraşacağın için Python'dan sonraki tercihin C olsun. Ek olarak Go, Rust gibi gelecekte daha da ön plana çıkacak dillerin varlığını bil.

FireSwords

Alıntı yapılan: Toor - 02 Kasım 2016 - 22:40:04
Basit bir syntax hatası. If gibi yapılar ve fonksiyonlar tanımlarken ":" kullanman gerekli.

Ayrıca Python hakkında birçok ücretsiz Türkçe kaynak var. İstihza'nın Python 3 kitabı çok güzel. YouTube'da da güzel seriler mevcut. Elektrik-Elektronik istiyorsan algoritma ve temel düzeyde programlama yapısını bilmek yeterli olacaktır. Gömülü programlama ile çok uğraşacağın için Python'dan sonraki tercihin C olsun. Ek olarak Go, Rust gibi gelecekte daha da ön plana çıkacak dillerin varlığını bil.
C yerine direkt C++ daha mantıklı bence.

Toor

Alıntı yapılan: FireSwords - 03 Kasım 2016 - 19:30:07
Alıntı yapılan: Toor - 02 Kasım 2016 - 22:40:04
Basit bir syntax hatası. If gibi yapılar ve fonksiyonlar tanımlarken ":" kullanman gerekli.

Ayrıca Python hakkında birçok ücretsiz Türkçe kaynak var. İstihza'nın Python 3 kitabı çok güzel. YouTube'da da güzel seriler mevcut. Elektrik-Elektronik istiyorsan algoritma ve temel düzeyde programlama yapısını bilmek yeterli olacaktır. Gömülü programlama ile çok uğraşacağın için Python'dan sonraki tercihin C olsun. Ek olarak Go, Rust gibi gelecekte daha da ön plana çıkacak dillerin varlığını bil.
C yerine direkt C++ daha mantıklı bence.
C ve C++ konusu çok derin. Ama mevzu gömülü programlama ve mikrodenetleyicilerle çalışmak ise C++ gibi nesneye yönelik yapılara da sahip daha kapsamlı bir dile ihtiyaç yok. C ile yazılan uygulamaların bellek kullanımı açısından bir tık daha aşağıda olduğu söyleniyor. Bu yüzden C iyi bir tercih olacaktır. Zaten tercih edilen de C oluyor. Arduino C++ kullansa da Atmel mikrodenetleyicilerini programlayanların çoğu da C tercih ediyor.

FireSwords

[mention=609659]@Toor[/mention] Cpp ve C kardeş denilebilecek diller. Cpp başta zorlar evet,  ama öğrenildikten sonra C dahil tüm diller çok rahat öğrenilebilir.

Toor

Alıntı yapılan: FireSwords - 03 Kasım 2016 - 20:26:35
[mention=609659]@Toor[/mention] Cpp ve C kardeş denilebilecek diller. Cpp başta zorlar evet,  ama öğrenildikten sonra C dahil tüm diller çok rahat öğrenilebilir.
C++'ın başta zorlamasının bir alakası yok. Yapısı elektronik hedefleyen birisi için uygun değil. C++ nesneye yönelik yapısıyla C'den ayrılıyor ve nesne yönelimli programlama her konuda bir ihtiyaç değil. C bellek yönetimi konusunda daha kolay.

http://stackoverflow.com/questions/812717/is-there-any-reason-to-use-c-instead-of-c-for-embedded-development
http://stackoverflow.com/questions/1223710/we-have-to-use-c-for-performance-reasons
https://www.quora.com/Why-is-C-preferred-over-C++-in-firmware-development-and-embedded-programming

C++, C'den daha çok işe yarayacak bir dildir. Ama C'nin hala aktif olmasının nedenlerinden biri de sistem programcılığı ve gömülü programlama. C++ ve C arasından benim de tercihim genel olarak C oluyor ve bence C++ seviye olarak bir tık uzakta, tam hakimiyet açısından minik bir farkla C'den biraz avantajız bir dil.

Bulutefe

Arkadaşlar bendeki sıkıntı şu #!/usr/bin/env python
#-*-coding:utf-8-*-

while True:
      secenek1 = "(1) toplama"
      secenek2 = "(2) çıkarma"
      secenek3 = "(3) çarpma"
      secenek4 = "(4) bölme"

      print secenek1
      print secenek2
      print secenek3
      print secenek4

      soru = raw_input("Lütfen yapmak istediğiniz işlemi seçin: ")

      if soru == "1" :
          sayi1 = input("Lütfen ilk sayıyı girin: ")
          print sayi1
          sayi2 = input("Lütfen ikinci sayıyı girin: ")
          print sayi1, "+", sayi2,":", sayi1 + sayi2
          input()

      if soru == "2" :
          sayi3 = input("Lütfen ilk sayıyı girin: ")
          print sayi3
          sayi4 = input("Lütfen ikinci sayıyı girin: ")
          print sayi3, "-", sayi4,":", sayi3 - sayi4
          input()

      if soru == "3" :
          sayi5 = input("Lütfen ilk sayıyı girin: ")
          print sayi5
          sayi6 = input("Lütfen ikinci sayıyı girin: ")
          print sayi5, "x", sayi6,":", sayi5 * sayi6
          input()

      if soru == "4":
          sayi7 = input("Lütfen ilk sayıyı girin: ")
          print sayi7
          sayi8 = input("Lütfen ikinci sayıyı girin: ")
          print sayi7, "/", sayi8,":", sayi7 / sayi8   
          input()


program açılıp hemen kapanıyor

UykusuzBizon

#8
Eğer program yazımında bir hata yoksa şurayı incelemenizde fayda var:

"Bu programı yazıp kaydettikten sonra bu programın simgesi üzerine çift tıkladığımızda siyah bir komut ekranının çok hızlı bir şekilde açılıp kapandığını görürüz. Aslında programımız çalışıyor, ama programımız yapması gereken işi yaptıktan hemen sonra kapandığı için biz program penceresini görmüyoruz.

Programımızın çalıştıktan sonra hemen kapanmamasını sağlamak için son satıra bir input() fonksiyonu yerleştirmemiz gerektiğini biliyoruz:
....
Bu sayede programımız kullanıcıdan bir giriş bekleyecek ve o girişi alana kadar da kapanmayacaktır. Programı kapatmak için Enter düğmesine basabiliriz."

http://belgeler.istihza.com/py3/input.html#input-fonksiyonu

NOT: Sanırım sorunun kaynağı o değil. Yani zaten program içerisinde input() ifadeleri yer alıyor. Sorunun kaynağını anlayamamakla beraber python3 için şu şekilde yazdığımda program sorunsuz çalışıyor. Programı terminalde çalıştırdığınızda herhangi bir hata mesajı veriyor mu?

while True :
    secenek1 = "(1) toplama"
    secenek2 = "(2) çıkarma"
    secenek3 = "(3) çarpma"
    secenek4 = "(4) bölme"

    print(secenek1,"\n",
            secenek2,"\n",
            secenek3,"\n",
            secenek4,"\n",
            sep="")
    soru = input("Lütfen yapmak istediğiniz işlemi seçin:")

    girdi1 = input("Lütfen ilk sayiyi girin:")
    print(girdi1)
    girdi2 = input("Lütfen ikinci sayiyi girin:")
    print(girdi2)
    sayı1 = int(girdi1) #Yukarıda yolladığım kaynaktan:
    sayı2 = int(girdi2) #"input() fonksiyonundan gelen veri her zaman bir karakter dizisidir"
    #Yukarda gelen verileri int türüne çevirdim ki aşağıda print fonksiyonu içerisinde işlem yaparken
    #her defasında tür çevirimi yapmak zorunda kalmayayım.       
    if soru == "1" :
        print(sayı1,"+",sayı2,"=",sayı1+sayı2,"\n")

    elif soru == "2" :
        print(sayı1,"-",sayı2,"=",sayı1-sayı2,"\n")

    elif soru == "3" :
        print(sayı1,"*",sayı2,"=",sayı1*sayı2,"\n")
       
    elif soru == "4" :
        print(sayı1,"*",sayı2,"=",sayı1/sayı2,"\n")



Beni doyurmuyor ne para ne sistemin masalı.

okkangal

Dostum Python biliyorum demek için ne düzeyde olmam gerekli şeklindeki sorunun herhangi bir cevabı olmadığını bir süre sonra sen de anlayacaksın .

Berkhan Berkdemir

Merhaba;

Python'u etkin mi kullanmak istiyorsun. Modül öğren. Modül yarat.

Python, PHP & SQL Developer

GitHub: @BerkhanBerkdemir
Eğer Linux hakkında güncel haber ve rehberler görmek istiyorsanız profilimde ki linke tıklayın.