for döngüsü ile liste oluşturma sorunu

Başlatan upiz, 30 Temmuz 2017 - 17:00:04

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

upiz

Merhaba,

for döngüsü ile liste oluşturabilir miyim ne yaptıysam olmadı.Kodlarım aşağıdadır.



ilkSayi = int(input("ilk değeri giriniz : "))
# KULLANICIDAN İLK SAYIYI ALDIM

ikinciSayi = int(input("ikinci değeri giriniz : "))
# KULLANICIDAN İKİNCİ SAYIYI DA ALDIM

olusanSayilar = range(ilkSayi,ikinciSayi)
tumListe = list(olusanSayilar)
print(tumListe)
#KULLANICIDAN ALDIĞIM İKİ SAYI ARASINDA Kİ TÜM SAYILARI BİR LİSTEDE BİRLEŞTİRDİM

for i in tumListe:
    if i%2==1:
        print(i)
#BURADA YAPTIĞIM ŞEY İSE YUKARIDA OLUŞTURDUĞUM LİSTEDEKİ TEK SAYILARI EKRANA BASTIRMAK OLDU



#BURAYA KADAR * her şey İYİ FAKAT print ( i ) yazdığımda aşağı doğru sıralanıyor sayılar ben ise bir dizi içerisinde saklansın istiyorum

yani kulanıcı 10 ile 20 girsin program for döngüsü ile 10 ile 20 arasında ki tek sayıların hepsini i ye atıyor ve ekrana bastırıyor çıktı şu şekilde:
11
13
15
17
19

ama ben liste şeklinde olsun istiyorum yani :

[11,13,15,17,19] bu şekilde

yardımlarınız için şimdiden teşekkür ederim.

alorak

Listeyi diziye çevirmek istiyorsanız ek kütüphane ile kolayca yapabilirsiniz:

import numpy as np
yenidizi = np.asarray(tumListe)


Ek kütüphane eklemek istemiyorsanız:

tumListe_d = []
for i in tumListe:
    if i%2==1:
         tumListe_d.append(i)
özgürlük için

upiz

#2
dediğiniz şekilde yaptım fakat oluşan listeden rasgele 3 tane değer almaya kalktığımda alttaki hatayı alıyorum

Traceback (most recent call last):
  File "/home/upiz/Masaüstü/test2.py", line 15, in <module>
    print(random.sample(tumliste_d,3))
  File "/usr/lib/python3.4/random.py", line 315, in sample
    raise ValueError("Sample larger than population")
ValueError: Sample larger than population


ekran görüntüsü ekledim


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 30 Temmuz 2017 - 18:54:41


tam olarak şu olsun istiyorum

10 ile 20 girsin kullanıcı

programın bu iki sayı arasında bulmuş olduğu tek sayıları bir dizide toplasın istiyorum ki bu dizi içerisinden istediğim adette rasgele değer alabileyim

örn : yeniDizi = [11,13,15,17,19]

print (random.sample(yeniDizi,3)) ---> bu kod çalışmıyor hatanın ne anlama geldiğinide bulamadım maalesef

[eklenti yönetici tarafından silindi]

alorak

Alıntı yapılan: upiz - 30 Temmuz 2017 - 18:39:41
dediğiniz şekilde yaptım fakat oluşan listeden rasgele 3 tane değer almaya kalktığımda alttaki hatayı alıyorum

Traceback (most recent call last):
  File "/home/upiz/Masaüstü/test2.py", line 15, in <module>
    print(random.sample(tumliste_d,3))
  File "/usr/lib/python3.4/random.py", line 315, in sample
    raise ValueError("Sample larger than population")
ValueError: Sample larger than population


ekran görüntüsü ekledim
print (random.sample(yeniDizi,3)) ---> bu kod çalışmıyor hatanın ne anlama geldiğinide bulamadım maalesef

random.sample fonksiyonunu iç kısma koymuşsun. En dışta en altta olması gerekmekte.
özgürlük için

upiz

Teşekkür ederim çözüldü.Bilginize kuvvet :)