Dawno, dawno temu formatowanie w Pythonie wymagało (1) %-formatting lub (2) str.format(). Python 3.6 wprowadził dużą zmianę w postaci f-strings i nie ma sensu stosowanie (1) i (2). Powinieneś korzystać z materiałów do nauki, które nie mają dziesięciu lat ;-). Linia 4 = %-formatting, linia 6 = str.format(), linia 8 = f-strings.
>>> pacjent = "Jan z podkrakowskiej gminy Czernichów"
>>> wiek = 95
>>> bmi = 44
>>> "Karta Pacjenta: %s. Wiek: %s. BMI: %s." % (pacjent, wiek, bmi)
>>> 'Karta Pacjenta: Jan z podkrakowskiej gminy Czernichów. Wiek: 95. BMI: 44.'
>>> "Karta Pacjenta: {}. Wiek: {}. BMI: {}.".format(pacjent, wiek, bmi)
>>> 'Karta Pacjenta: Jan z podkrakowskiej gminy Czernichów. Wiek: 95. BMI: 44.'
>>> f"Karta Pacjenta: {pacjent}. Wiek: {wiek}. BMI: {bmi}."
>>> 'Karta Pacjenta: Jan z podkrakowskiej gminy Czernichów. Wiek: 95. BMI: 44.'
Co popsułem tym razem ?
backtick
backtick
backtick
backtick
backtick
backtick
def getbmi(m, h):
return m / (h ** 2)
def main():
print("Podaj masę ciała w kg: ")
m = float(input())
print("Twoja masa ciała wynosi %f."% m)
print("Podaj wzrost w m: ")
w = float(input())
bmi = getbmi(m, w)
if bmi < 18.5:
print("niedowaga")
elif 18.5 <= bmi <= 24.9:
print("norma")
elif 25 <= bmi < 30:
print("nadwaga")
else:
print("otyłość")
if name == "main":
while True:
if choice := input("0 - wyjdz, 1-licz bmi: ") == "0":
break
main()
backtick
backtick
backtick
Jak zastosować tak by ten % działał?
backtick
backtick
backtick