Çözüldü Python kodu istediğim gibi çalışmıyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

ardozcnn

Decapat
Katılım
1 Şubat 2023
Mesajlar
8
Daha fazla  
Cinsiyet
Erkek
Python'dan bir Discord botu kodlamaya başladım. Ve botuma ".dolar" yazınca doların güncel fiyatını gösteren bir kod yazdım ve çalıştı.

Python:
@client.command()
async def dolar(ctx):
 url2 = "https://www.google.com/finance/quote/USD-TRY?hl=en"
 sayfa1 = requests.get(url2)
 html_sayfa1 = BeautifulSoup(sayfa1.content,"html.parser")
 dolar = html_sayfa1.find("div",class_="YMlKec fxKbKc").getText()
 embed = discord.Embed(title = "USD -> TURKISH LIRA" , description = f"{dolar} TRY", color = discord.Colour.red())
 await ctx.send(embed=embed)

Daha sonra ".dtl (sayı)" yazınca o yazdığımız sayının kaç dolara eşit olduğunu gösteren bir kod yazdım. Tekrardan üstteki koda benziyor ama doların fiyatı X yazılan sayı ekledim ama bana doların fiyatını birkaç kere yazıyor.

Python:
@client.command()
async def dtl(ctx, num1:int):
 url2 = "https://www.google.com/finance/quote/USD-TRY?hl=en"
 sayfa1 = requests.get(url2)
 html_sayfa1 = BeautifulSoup(sayfa1.content,"html.parser")
 usd = html_sayfa1.find("div",class_="YMlKec fxKbKc").getText()
 carpim=usd * num1.
 embed = discord.Embed(title = "USD -> TURKISH LIRA" , description = f"", color = discord.Colour.red())
 embed.add_field(name = f'{num1} USD', value = f"```{carpim}``` TL" , inline = True)
 await ctx.send(embed=embed)

 
Çözüm
Büyük ihtimalle `carpim=usd * num1` içine verdiğiniz usd bir string. (Ki .getText() kullandığınıza göre öyle) Siz de çarpımı yaptığınızda aynı metni kaç kere yazmanız gerektiğinin bir "çarpım"ını yapıyorsunuz. Bu `carpim=usd * num1.`ı çalıştırmadan önce `usd = float(usd)` yazarsanız düzelmesi lazım.
Büyük ihtimalle `carpim=usd * num1` içine verdiğiniz usd bir string. (Ki .getText() kullandığınıza göre öyle) Siz de çarpımı yaptığınızda aynı metni kaç kere yazmanız gerektiğinin bir "çarpım"ını yapıyorsunuz. Bu `carpim=usd * num1.`ı çalıştırmadan önce `usd = float(usd)` yazarsanız düzelmesi lazım.
 
Çözüm
Evet denedim şimdi oldu, teşekkür ederim.
 

Bu konuyu görüntüleyen kullanıcılar

Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…