f-String hakkinda

Merhaba

Dongu ile hesapladigim degerleri f-stringle asagidaki gibi nasil duzenleyebilirim.

listPrice = [(x * y) + x for x in price for y in vat]
print(f'price : {price} \nvat : {vat} \nlistPrice : {listPrice}')
# normal cikti
price : [2, 4, 6] 
vat : [0.08, 0.18, 0.25] 
listPrice : [2.16, 2.36, 2.5, 4.32, 4.72, 5.0, 6.48, 7.08, 7.5]
# istedigim cikti
price	vat	listPrice
2	0.08	2.16
2	0.18	2.36
2	0.25	2.50
4	0.08	4.32
4	0.18	4.72
4	0.25	5.00
6	0.08	6.48
6	0.18	7.08
6	0.25	7.5

Merhaba,

price ve vat listeleri bir yerden sonra tekrar ba┼ča sard─▒─č─▒ i├žin ┼č├Âyle d├╝zenleyebilirsiniz.

price = [2, 4, 6] 
vat = [0.08, 0.18, 0.25] 
listPrice = [2.16, 2.36, 2.5, 4.32, 4.72, 5.0, 6.48, 7.08, 7.5]

print("{:<5} {:<5} {:<5}".format("price", "vat", "listPrice"))
c = 0
for i in listPrice:
    if c == 3:
        c = 0
    print("{:<5} {:<5} {:<5}".format(price[c], vat[c], i))
    c += 1

Çıktı:

price vat   listPrice
2     0.08  2.16
4     0.18  2.36
6     0.25  2.5
2     0.08  4.32
4     0.18  4.72
6     0.25  5.0
2     0.08  6.48
4     0.18  7.08
6     0.25  7.5
1 Be─čeni

Sn @dildeolupbiten bu cikti kullanilabilir olmadi benim icin istedigim sonucu baska farkli bir yontemle almak mumkun mu acaba. Tesekkurler.

Tabi alman─▒z m├╝mk├╝n, ├ž─▒kt─▒y─▒ bir de─či┼čkenin de─čeri olarak m─▒ kullanman─▒z gerekiyorsa yoksa ekrana m─▒ yazd─▒r─▒lmas─▒ gerekiyor?

sadece ekrana yazd─▒rmak amac

Pardon, almak istedi─činiz ├ž─▒kt─▒ benim g├Âz├╝mden ka├žm─▒┼č.
┼×├Âyle yapabilirsiniz.

price = [2, 4, 6] 
vat = [0.08, 0.18, 0.25] 
listPrice = [2.16, 2.36, 2.5, 4.32, 4.72, 5.0, 6.48, 7.08, 7.5]

print("{:<8}{:<4}{}".format("price", "vat", "listPrice"))
n_price = 0
n_vat = 0
for i in range(len(listPrice)):
    if i % 3 == 0 and i != 0:
        n_price += 1
        n_var = 0
    print("{:<4}{:<8}{}".format(price[n_price], vat[n_vat], listPrice[i]))
    n_vat += 1

Çıktı:

price   vat listPrice
2   0.08    2.16
2   0.18    2.36
2   0.25    2.5
4   0.08    4.32
4   0.18    4.72
4   0.25    5.0
6   0.08    6.48
6   0.18    7.08
6   0.25    7.5
1 Be─čeni

Cok tesekkur eder─▒m El─▒n─▒ze sagl─▒k s─▒md─▒ ben bunu nas─▒l yapt─▒g─▒n─▒z─▒ b─▒r ozumsemeye cal─▒say─▒m olas─▒ soracag─▒m b─▒r kac soru ─▒le s─▒ze tekrar rahats─▒zl─▒k vermem umar─▒m.

bende boyle bir hata veriyor 2 li degerleri basti 4 ve 6 lar basilmadi

Traceback (most recent call last):
File ÔÇťC:/Users/oguzt/PycharmProjects/Evie+_Academy/Ders_24 K├╝meler.pyÔÇŁ, line 31, in
print("{:<4}{:<8}{}".format(price[n_price], vat[n_vat], listPrice[i]))
IndexError: list index out of range
price vat listPrice
2 0.08 2.16
2 0.18 2.36
2 0.25 2.5

Pardon, if ko┼čulunun alt─▒ndaki ikinci sat─▒rda n_vat yazmam gerekirken n_var yazmamdan ├Ât├╝r├╝ IndexError hatas─▒ alm─▒┼čs─▒n─▒z. Siz n_var yazan yere n_vat yazarsan─▒z ayn─▒ hatay─▒ bir daha almazs─▒n─▒z.

Bende s─▒ze n_var ne ise yariyor diye soracaktim :slight_smile:

F-stringle tam olarak istedigim gibi duzenledim, priceList listesinide dongu ile olusturdum tam olarak cozdum sizin dongunuzun isleyisinide deneme yanilma ile cozmeye calisiyorum tekrar tesekkurler.

price = [2, 4.5, 6]
vat = [0.08, 0.18, 0.25]

listPrice = [round((x * y) + x, 2) for x in price for y in vat]

print("{:<10}{:<10}{:<20}".format("price", "vat", "listPrice"))
print(f'{"-"* 30}')

n_price = 0
n_vat = 0

for i in range(len(listPrice)):
    if i % 3 == 0 and i != 0:
        n_price += 1
        n_vat = 0
    print(f"{price[n_price]:<10} {vat[n_vat]:<10}{listPrice[i]:<20}")
    n_vat += 1

Ciktisi

price     vat       listPrice           
------------------------------
2          0.08      2.16                
2          0.18      2.36                
2          0.25      2.5                 
4.5        0.08      4.86                
4.5        0.18      5.31                
4.5        0.25      5.62                
6          0.08      6.48                
6          0.18      7.08                
6          0.25      7.5
1 Be─čeni