Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: =?UTF-8?Q?Mike_M=c3=bcller?= Newsgroups: de.comp.lang.python Subject: Re: [Python-de] f-string Formatanweisung Date: Mon, 22 Jun 2020 14:31:18 +0200 Organization: Python Academy GmbH & Co. KG Lines: 90 Message-ID: References: <0ce577a1-9f85-f36b-b20b-bd3dd739f511@python-academy.de> <8fda63c0-bb9d-24e3-44dd-5319ce2430b3@python-academy.de> Reply-To: mmueller@python-academy.de Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de UgxBMnDbTZbmIqSFnEL3tgul/vKM6Use8YWPnjO6MUXw== Return-Path: X-Original-To: python-de@python.org Delivered-To: python-de@mail.python.org Authentication-Results: mail.python.org; dkim=none reason="no signature"; dkim-adsp=none (unprotected policy); dkim-atps=neutral Autocrypt: addr=mmueller@python-academy.de; prefer-encrypt=mutual; keydata= xsBNBE9NaSQBCADIirFuAq9t2xTZ9eU/quGgNsuxnp+DfD3W4s3lcQt2APSYtyUQMrB5DJ9q h9Nl02SFpUq7m0Kf3nb0QvZWbh5UeEx+sliJrAPYZPThupy2W1xzOMD3aJBle/qCaHZK4wmq tmaD2/TFAqtABOe1yibZ6auqU7V4T1YO4tDc8BCuW8GVDGWpUddAieyivquJ5WcYQRKBZuIL BygUA1CHqKOJJlOIh14yvJB444AemYdtG5345NY+pwNddhhr/w1NebVhSMkrEB3WkMW2VfFE X0wEpzufuJOrs1RKl13FXiVBdqs+wnZKDsjKiu6cZax3bI7YdukHwhB4nD24hMV4ZcO5ABEB AAHNKU1pa2UgTcO8bGxlciA8bW11ZWxsZXJAcHl0aG9uLWFjYWRlbXkuZGU+wsCBBBMBAgAr AhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAUJFrrTAgUCWwF/EAIZAQAKCRCnneP4s3tA OH9xB/4+YKx9EvRYFWrPGGA2tjsCrMfW6gwjcWBmzZHY8HPCDrjDfVDM9KsrDCgfdgpKkGaS WlDMQUES89InAGAUDImFvGjXHspFfXp66FEV6LezXaPZCQqNDC6gMbzqcNewN1jXXZDpvwmR sufhqcDRYnuYrbuljLwn0PS8qGPSSesuC2YceOc1B0G52J9ay/AUvYpIm9e7ATXfEq0wzI34 dm9nh6kuCl24pn2ThzMLKyhHrU8rxEXEMzpxinhDC3s+yzfJr3bUJ7AIH3UoPKzfDr7cxKrP nxdFV6r/sTl4NBuseFW6smkcBdBUSJ6TVw5+MY5myAd0/DKg7cHsI7A8sKwAzsBNBE9NaSQB CADj2oRYH78dlVDHTEU8/16vvCjLdelIuA8t7518MdWYRmbYndGmPktn2EbJr4Eo9zU+MG4l A20gHX7rG3USIpgw5n9F3LXZZxApc7LvJfFzfZPpqv2GQUAy2kvjumK2uC5Jh2Jyug0/BN3i ePDbHBGi3TaFHnhqNorUy4Rg9D3rd7OpeuslNpmLpJPxTX3rRh+ePR8wOg1EczR3r4klYEcK udGvZQHOKt89KSDyR4XbO+oKkRSwFS4DV/WPsKNOW00Wtz2no3/oLId+g0mzgdeRLtaGZlTS VcRj8D/g2xrfPLplG2jfHqs+eoys53rLNoyxnpMS7IOupl0UqgRt85PHABEBAAHCwGUEGAEC AA8CGwwFAljf06cFCRa60wMACgkQp53j+LN7QDicSggAoaO6fKG21fYnlEvRVlOKMVb1ETOE /HgwIiWCCyXJAJNkqZQOBduwLzZkWYTiAEqtiBDdhOnzlWp1o3YllQtZEj35tMHvQQH2DUiL qSJJQHYJmLbP4GrWTefv26IpPzutmokHInq6sYdD9EmgsyMJEO+jpCORYO1dNDU5CU4LMlHM AwlVKb7Ix92jMi6La+leiBWFsr/R1hv0Gpj75lDCtY7+fWUalB5ilxoWVK11/uhGIevEgG5u OAIQNGkfEXU1kfCRL5XzpyECXcoS0fMnLuxnKGQM8pegcyc8RiK8M0vJGDi0mFevNMnbVDxt m34AzV49pDZ/PH7t1NPUrJbQgw== User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 In-Reply-To: <0ce577a1-9f85-f36b-b20b-bd3dd739f511@python-academy.de> Content-Language: de-DE X-Authenticated-Sender: mmueller@python-academy.de X-Virus-Scanned: Clear (ClamAV 0.102.3/25850/Sun Jun 21 15:07:54 2020) X-BeenThere: python-de@python.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Die Deutsche Python Mailingliste List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <8fda63c0-bb9d-24e3-44dd-5319ce2430b3@python-academy.de> X-Mailman-Original-References: <0ce577a1-9f85-f36b-b20b-bd3dd739f511@python-academy.de> Xref: csiph.com de.comp.lang.python:5644 Am 22.06.20 um 14:27 schrieb Mike Müller: > Das `f` gehört vor den String: > > a = 5 > > print(f'{a}') > > nicht in den String: > > print(f"'{a}'") Die falsche Variante richtig geschrieben: ;) print("f'{a}'") > > Viele Grüße > Mike > > Am 22.06.20 um 12:36 schrieb ruppert@hs-worms.de: >> Hallo, >> >> das unten befindliche Programm funktioniert mit f-String-Formatierung >> nicht so, wie ich das erwarte. Wenn ich das F-String-Format, das ich >> haben möchte, zuerst als Striing formatiere (s), sieht es richtig aus. >> >> Aber bei print(s) wird nicht das in s steckende f-string-Format >> interpretiert, sondern einfach nur s als String ausgegeben. >> >> Das Programm soll übrigens Binärzahlen in Gray umwandeln und zurück. >> Mit der .format-Methode funktioniert das auch einwandfrei. >> >> Aufruf des Programms in der kürzesten Weise: >> >> grayCode.py 2 1 >> >> 2 ist der kürzeste Graycode und 1 schaltet in den debug-Modus >> >> Vielen Dank >> >> Martin Ruppert >> >> #!/usr/bin/python3 >> import sys >> if(len(sys.argv)<2): >> a=sys.argv[0].split('/') >> a=a[len(a)-1] >> print('usage:',a,'digits of GrayCode') >> print(' eg.',a,'12') >> exit(1) >> >> def bintogray(bin): >> return(bin^(bin>>1)) >> >> def graytobin(n,gray): >> val=0 >> for i in range(n,-1,-1): >> val = val|((((1<<(i+1))&val)>>1)^((1<> return(val) >> >> dbg=0 >> if(len(sys.argv)>2):dbg=int(sys.argv[2]) >> fl=int(sys.argv[1]) >> fw=fl >> if(fw<4):fw=4 >> dl=int(fl/3.321928+1) #dezimale Stellen >> if(dl<4):dl=4 >> f="%%-%ds %%-%ds %%-%ds"%(dl,fw,fw) >> if(dbg>0):print("f=",f) >> h=f%("#val","gray","bin") >> f="{{:0{:1d}d}} {{:0{:1d}b}} {{:0{:1d}b}}".format(dl,fw,fw) >> #s wird in der for-Schleife unten nicht interpretiert, >> #sondern als string ausgegeben: >> s='f"'+str(f"{{i:0{dl}d}} {{gray:0{fw}b}} {{bin:0{fw}b}}")+'"' >> if(dbg>0):print("f=",f) >> if(dbg>0):print("s=",s) >> for i in range(2**fl): >> if(i%24==0):print(h) >> gray=bintogray(i) >> bin=graytobin(fl,gray) >> print(f.format(i,gray,bin)) >> s='f"'+(f"{{i:0{dl}d}} {{gray:0{fw}b}} {{bin:0{fw}b}}")+'"' >> print(s) >> > > _______________________________________________ > python-de maillist - python-de@python.org > https://mail.python.org/mailman/listinfo/python-de >