Yeni başlayanlar için Python Problemi

Başlatan dwain, 31 Ekim 2013 - 16:48:59

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

dwain

Arkadaşlar merhaba,

Çok eski zamanlarda burada ufak tefek alıştırma amaçlı problemler yayınlardım. Yeni başlayanlar için yardımcı olsun diye.

Bugün ufak ama düşündürücü bir problem daha sorayım. Yeni başlayanların pekiştirmesi açısından iyi olur.

Problemimiz şöyle:

1. Program bize bir haft soracak. Bu harfi gideceğiz.
2. Daha sonra da bir sayı soracak. İstediğimiz bir sayıyı da girececeğiz.

Program bize geri bir harf döndürecek ve ekrana yazacak. Bu harf bizim ilk girdiğimiz harften itibaren atıyorum sayı olarak 6 verdiysek o harften sonra gelen 6.ncı harf olması gerekiyor:

Örnek,

a,b,c,d,e,f,g,h.... şeklinde harflerimiz olsun.

b dedik ve rakam olarak da 4 dediğimizi varsayalım. Program bize b den sonra gelen 4.ncü harfi yani f harfini iletecek.

Önemli notlar: Programa 100 rakamını da verebilirsiniz. 100 verdiğiniz zaman alfabenin sonundan yani z harfinden yeniden a ya geçerek saymaya devam edecek ve 100'e gelene kadar da devam edecek.

Programın sayacağı harf sayısı bizim ilk girdiğimiz harften itibaren başlayacak.

Evet genel bilgiler bu şekilde. Umarım keyifli vakit geçirirsiniz yaparken :)

Selamlar...
Kaan Aslan


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 31 Ekim 2013 - 16:56:52

Bir bilgi daha vereyim. Problemin sadece bir tek çözümü olmayabilir. Dolayısıyla yeni başlayan arkadaşlar akıllarına gelen şekilde çözmeye çalışsınlar. Yani programı 10 satırda da yazsanız, 20 satırda da yazsanız önemli değil. Yeter ki sonuca gelin. Daha sonra zaten herkes kendi algoritmasını karşılaştırıp bu konuda gelişmeye başlayacaktır.
Kaan Aslan
Mac OSX

guopx

#1
#!/usr/bin/env python
# -*- coding: utf8 -*-
harf = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","r","s","t","u","v","y","z"]
baslangic = raw_input("Bir harf girin:")
sayi = raw_input("Bir sayı girin:")
gelinen = int(int(sayi) + int(harf.index(baslangic)))  % 23
print harf[gelinen]

Amatörlüğün bu kadarı :) çalışır mı bilmiyorum.
Sevdiklerine sevdiğini söyle çok geç olmadan.

dwain

Tebrikler bence çalışıyor :) Başka türlü yapmak isteyen arkadaşlar da yazmaya devam edebilir. Dediğim gibi bir tane doğru cevap yok. :)
Kaan Aslan
Mac OSX

DechroS

Cevabımın yeri burası değil ama dayanamadım *yazayım dedim. Bu uygulamayı C dilinde yazdım. Python ile ilgilenen arkadaşlar için C programı olarak örnek teşkil etsin.


#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  char girilen_harf, istenen_harf;
  int girilen_sayi;
 
  printf("Lutfen bir harf giriniz.");
  scanf("%c", &girilen_harf);
  printf("Lutfen bir sayi giriniz.");
  scanf("%d", &girilen_sayi);
  istenen_harf=(int)girilen_harf+girilen_sayi;
  printf("%c harfinden %d sayi sonra gelen harf %c dir.", girilen_harf, girilen_sayi, istenen_harf);
 
  system("PAUSE");
  return 0;
}


İşin tuhafı ise Python da 5 komutla yaptığımız işlemi C de 9 komutla yapıyor olmamız. Büyük programlardaki farkı siz düşünün.

guopx

#4
@DechroS
Python'un tek avantajı da bu zaten :) biraz yalın bir sentaks ve kolay öğrenilebilir olması. Yoksa hız konusunda c'nin eline su dökemez.
Sevdiklerine sevdiğini söyle çok geç olmadan.