Permalänk
Medlem

python - casefold()

Hej. Leker lite i python. Finns det något enklare/smidigare sätt att använda casefold istället för att måsta skriva det 4 gånger i min kod?

import sys firstname = sys.argv[1].capitalize() lastname = sys.argv[2].capitalize() name = {"firstname":firstname,"lastname":lastname} print(name) if "pelle".casefold() in name["firstname"].casefold() and "karlsson".casefold() in name["lastname"].casefold(): print("\nHello " + name["firstname"] + " " + name["lastname"] + "! We have the same name!") else: print("\nHello " + name["firstname"] + " " + name["lastname"] + "! We don\'t have the same name.")

Permalänk
Medlem
Skrivet av llxt:

Hej. Leker lite i python. Finns det något enklare/smidigare sätt att använda casefold istället för att måsta skriva det 4 gånger i min kod?

import sys firstname = sys.argv[1].capitalize() lastname = sys.argv[2].capitalize() name = {"firstname":firstname,"lastname":lastname} print(name) if "pelle".casefold() in name["firstname"].casefold() and "karlsson".casefold() in name["lastname"].casefold(): print("\nHello " + name["firstname"] + " " + name["lastname"] + "! We have the same name!") else: print("\nHello " + name["firstname"] + " " + name["lastname"] + "! We don\'t have the same name.")

Varför capitalize för att sen göra det till små bokstäver?
Varför göra dina hårdkodade strängar "pelle" och "karlsson" till små bokstäver, när de redan är små bokstäver?

import sys firstname = sys.argv[1].casefold() lastname = sys.argv[2].casefold() name = {"firstname":firstname,"lastname":lastname} print(name) if "pelle" in name["firstname"] and "karlsson" in name["lastname"]: print("\nHello " + name["firstname"] + " " + name["lastname"] + "! We have the same name!") else: print("\nHello " + name["firstname"] + " " + name["lastname"] + "! We don\'t have the same name.")

Visa signatur

NZXT H510 Flow MSI B450 Tomahawk MAX
AMD Ryzen 5800X3D RX 7900XTX Kingston Fury 64GB
LG C2 42" 4K@120Hz AOC Q27G2U 1440P@144Hz

Permalänk
Medlem
Skrivet av Pamudas:

Varför capitalize för att sen göra det till små bokstäver?
Varför göra dina hårdkodade strängar "pelle" och "karlsson" till små bokstäver, när de redan är små bokstäver?

import sys firstname = sys.argv[1].casefold() lastname = sys.argv[2].casefold() name = {"firstname":firstname,"lastname":lastname} print(name) if "pelle" in name["firstname"] and "karlsson" in name["lastname"]: print("\nHello " + name["firstname"] + " " + name["lastname"] + "! We have the same name!") else: print("\nHello " + name["firstname"] + " " + name["lastname"] + "! We don\'t have the same name.")

casefold i mitt syfte är att man skall kunna skriva t.ex.

python fil.py PElle KarlSSON

utan att den kastar mig till false istället.
Samma sak med capitalize, Skriver jag med stora bokstäver så ska den returera stor bokstav först i namn och efternamn med resten smål. Så verkar det fungera nu iaf.
men men ..