For döngüsü ile girilen sayının rakamları toplamı ve rakamları çarpımını bulan

Başlatan Çağrı07, 19 Temmuz 2018 - 20:22:40

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

Çağrı07

Herkese merhabalar; Bir sorum var:
For döngüsü ile kullanıcının girdiği sayının rakamları toplamını ve çarpımını bulan Python uygulaması yazmak isteniyor. Yardımcı olur musunuz?
Yaşlanıyorum...

Empat

Merhaba. Python'la pek ilgilenmiyorum fakat daha hızlı cevaba ulaşmak isterseniz aktif üyeleri olan bu grup size yardımcı olabilir.
Everything for me is just Peace - Love - Coding. Also, as they say: I am a programmer, I have no life!

Çağrı07

Alıntı yapılan: Empat - 19 Temmuz 2018 - 20:32:27
Merhaba. Python'la pek ilgilenmiyorum fakat daha hızlı cevaba ulaşmak isterseniz aktif üyeleri olan bu grup size yardımcı olabilir.
facebook kullanmadığım için bilmiyorum o grubu hocam. Ama yakın zamanda araştırma yapıp Facebook üyeliği açabilirim. İnanın Twitter haricinde hiçbir sosyal medya hesabı kullanmıyorum (:
Yaşlanıyorum...

.py

https://repl.it/@YazilimDunyasi/toplamcarpim

Farklı birşeyler istersen söyle..

Çağrı07

Alıntı yapılan: .py - 19 Temmuz 2018 - 20:37:40
https://repl.it/@YazilimDunyasi/toplamcarpim

Farklı *bir şeyler istersen söyle..
Hocam allah razı olsun. İkisini de kaydettim. Teşekkür ederim. Kolay gelsin
Yaşlanıyorum...

.py

sayida sifir var ise ne olmasını istiyorsun sayinin içinde sıfır varsa carpimi doğrudan sıfır çıkıyor biliyorsun

skeptik


bu soruyu bu şekilde çözdüm ama python farklı bir şekilde hesaplıyor bunun sebebini bilmiyorum belki bir hatam vardır ama c de 3 5 adım da hesaplıyor

Dagiztanli08

[mention=639997]@Çağrı07[/mention]



c = int(input("Bir sayi giriniz"))
c_1 = 0
c_2 = 1

for l in str(c):
    c_1 += int(l)
    c_2 *= int(l)
   
print(c_1)
print(c_2)





Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 25 Haziran 2019 - 17:44:57

[mention=640001]@.py[/mention]

if int(test) is not 0

karşılaştırmalarda is kullanılmaz is objenin bellekteki yerini söyler
içerisinde 0 var diye bellekte aynı yerde tutulmayabilir yerine == kullanmalısınız


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 25 Haziran 2019 - 17:46:28

[mention=639997]@Çağrı07[/mention]
Bu arada C ile de toplamları şu şekilde bulunabilir aynı şekilde isterseniz çarpımlarınıda alırsınız.

int main(){

int sayi,cevap = 0;

printf("Bir sayi giriniz");
scanf("%d",&sayi);
for(sayi;sayi != 0;sayi /= 10){
cevap += sayi % 10;
}
printf("Cevap: %d",cevap);
}


.py

Alıntı Yapif int(test) is not 0

karşılaştırmalarda is kullanılmaz is objenin bellekteki yerini söyler
içerisinde 0 var diye bellekte aynı yerde tutulmayabilir yerine == kullanmalısınız

Yanlış biliyorsunuz

sorunu is not ifadesi ile açmışsın ama yerine == kullanmalısın demişsiniz sizin belirttiğiniz durum ikiside birbirinin zıttı durumlar != kullanmalısın demeliydiniz.
int(test) is not 0 ile int(test) != 0 arasında hiç bir fark yok buarada.

Dagiztanli08

Alıntı yapılan: .py - 25 Haziran 2019 - 18:27:16
Alıntı Yapif int(test) is not 0

karşılaştırmalarda is kullanılmaz is objenin bellekteki yerini söyler
içerisinde 0 var diye bellekte aynı yerde tutulmayabilir yerine == kullanmalısınız

Yanlış biliyorsunuz

sorunu is not ifadesi ile açmışsın ama yerine == kullanmalısın demişsiniz sizin belirttiğiniz durum ikiside birbirinin zıttı durumlar != kullanmalısın demeliydiniz.
int(test) is not 0 ile int(test) != 0 arasında hiç bir fark yok buarada.

Örnek verdim farketmemişim hiç bir fark yok mu :)
Bakalım fark var mı yok mu


>>> a = [1, 2, 3]
>>> b = a
>>> b is a
True
>>> b == a
True
>>> b = a[:] # Make a new copy of list `a` via the slice operator, and assign it to variable `b`
>>> b is a
False
>>> b == a
True



Varmıymış is'in amacını tekrar öğrenmenizi tavsiye ederim.
araştırmadan denemeden kimseye yorum yapmam :)

Tekrar uğraşmamanız adına anlatayım
şimdi a  ya bir değer tanımlayıp b ye attığınızda
python derki zaten ben bunun için bellekte yer ayırdım ona bağlıyayım b de aynı yer de tutulur
o zaman is derseniz True döndürür eğer b ye a[:] gibi farklı bir işlemden aynı değeri yüklerseniz bellekteki adresi değişir.

.py

[mention=647319]@Dagiztanli08[/mention] kodda sorun olmuyacaktır  sağol yeni * bir şey öğrenmiş oldum dikkat edicem. olayı [:] bu arkadaş değiştiriyor. yanlış biliyorsunuz sözümü geri alıyorum kusura bakmayın programlama bir deneyim işidir hergün yeni bir şeyler öğreniyoruz ve buna açık olmak gerekir. örnek vererek ufkumu açtığınız için teşekkürler.

Dagiztanli08

Alıntı yapılan: .py - 25 Haziran 2019 - 18:42:11
[mention=647319]@Dagiztanli08[/mention] kodda sorun olmuyacaktır  sağol yeni * bir şey öğrenmiş oldum dikkat edicem. olayı [:] bu arkadaş değiştiriyor. yanlış biliyorsunuz sözümü geri alıyorum kusura bakmayın programlama bir deneyim işidir hergün yeni bir şeyler öğreniyoruz ve buna açık olmak gerekir. örnek vererek ufkumu açtığınız için teşekkürler.

Hayır ben sizin kodunuza bir şey demedim siz dediniz ki is not ile != arasında fark yoktur ona yazdım
ama terbiyeniz ve anlayışınız için çok teşekkür ederim.

Empat

[mention=647317]@Dagiztanli08[/mention]
Lütfen kısa süre içerisinde üst üste ileti (flood) atmayın.

Bunun yerine daha önce attığınız iletiyi düzenleyin.

[mention=639997]@Çağrı07[/mention]
Size yararı olacaksa, bu script'in PHP veya Javascript versiyonunu kodlayabilirim.
Everything for me is just Peace - Love - Coding. Also, as they say: I am a programmer, I have no life!