For döngüsü yardım

sds = float(input("Sds: ")

sae1 = round(0.4*sds, 3) # HATA YOK
sae2 = round(0.7*sds, 3) # HATA YOK
sae3 = sds               # HATA YOK
sae4 = sds               # HATA YOK
sae5 = sds               # HATA YOK
sae6 = sds               # HATA YOK

for sae in [sae1, sae2, sae3, sae4, sae5, sae6]:        
     print(sae)

Elimde böyle bir for döngüsü var ama bunu print ettiğim zaman hepsini 1 kere yazdırmasını istiyorum ama print edince hepsini 7 kez tekrar ederek basıyor buna bir çözüm var mıdır. For döngüsünü kullanma amacım 6 tane değiişkeni tek değişkene indirmek.

İSTEDİĞİM ÇIKTI:

0.455
0.797
1.138
1.138
1.138
1.138

PROGRAMIN VERDİĞİ ÇIKTI:

0.455
0.797
1.138
1.138
1.138
1.138
0.455
0.797
1.138
1.138
1.138
1.138
0.455
0.797
1.138
1.138
1.138
1.138
0.455
0.797
1.138
1.138
1.138
1.138
0.455
0.797
1.138
1.138
1.138
1.138
0.455
0.797
1.138
1.138
1.138
1.138
0.455
0.797
1.138
1.138
1.138
1.138

Yardımcı olursanız çok sevinirim.

`sds = float(input("Sds: ")`

Satırında eksik parantez var.

sds = float(input("Sds: "))

Şeklinde düzelttim

Sonuç bu oldu:

image

sds = float(input("Sds: "))

sae1 = round(0.4*sds, 3) # HATA YOK
sae2 = round(0.7*sds, 3) # HATA YOK
sae3 = sds               # HATA YOK
sae4 = sds               # HATA YOK
sae5 = sds               # HATA YOK
sae6 = sds               # HATA YOK

for sae in [sae1, sae2, sae3, sae4, sae5, sae6]:        
    print(sae)

Kodu da bu…

İlk verdiğiniz şekliyle çalıştırdığımda şu hatayı verdi.

image

Siz nerede çalışıyorsunuz da bu hatayı göstermiyor?

‘(’ asla kapatılmadı şeklinde uyarıyor zaten.

Programda sds nin hesabı biraz daha farklı ben burada daha fazla uzatmamak için sds yi input şekline aldım web üzerinden yazarken koymayı unutmuşum parantezi

Olabilir, doğrudur.

Sonuçta kodu yazdığımda çıktı bende bir kez yazdı. Sizdeki tekrarlamasının sebebini anlayamadım açıkcası.

1 Beğeni
import math

def perform_Round(float_num, resolution):
    resolution_num = resolution * 10
    rounded = float_num * resolution_num 
    return  math.ceil(rounded)  / resolution_num 

i = float(input("I değerini giriniz: "))
r = float(input("R değerini giriniz: "))
d = float(input("D değerini giriniz: "))
sds = float(input("SDS değerini giriniz: "))
sd1 = float(input("SD1 değerini giriniz: "))

ta = round((0.2*sd1/sds), 3)
tb = round(sd1/sds, 3)

print("-------------------------------------------------")

print(f"Ta: {ta} ")
print(f"Tb: {tb} ")

print("-------------------------------------------------")

ts1 = 0
ts2 = round(ta/2, 3)
ts3 = round(ta, 3)
ts4 = round(ta+(tb-ta)/3, 3)
ts5 = round(ta+2*(tb-ta)/3, 3)
ts6 = round(tb, 3)
ts7 = perform_Round(tb, 1)

for ts in [ts1, ts2, ts3, ts4, ts5, ts6, ts7]:
    #print(ts)

    sae1 = round(0.4*sds, 3) # HATA YOK
    sae2 = round(0.7*sds, 3) # HATA YOK
    sae3 = sds               # HATA YOK
    sae4 = sds               # HATA YOK
    sae5 = sds               # HATA YOK
    sae6 = sds               # HATA YOK
    
    
    
    for sae in [sae1, sae2, sae3, sae4, sae5, sae6]: 
        print(f"Ts: {ts} Sae: {sae}") 

Kodun tamamı bu şekilde

Şimdi oldu.

Yukarıdak ilk for nedeniyle tekrarlıyor.

Yani for ts in satırı altında girintili başlayan alttaki for buna neden oluyor.

İlk forun amacı nedir bilemedim ama alttakilerin girindilerini aynı hizaya alırsanız tekrarlamaz.

1 Beğeni

Onunda amacı aynı değişken sayısını teke indirmek teşekkür ederim yardımınız için

1 Beğeni