Compare commits
3 Commits
2e1edf72b2
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ebc36c197 | ||
|
|
17b1da0822 | ||
|
|
1cf9f29496 |
@@ -1,7 +1,9 @@
|
|||||||
ft_list = ["Hello", "tata!"]
|
ft_list = ["Hello", "tata!"]
|
||||||
ft_tuple = ("Hello", "toto!")
|
ft_tuple = ("Hello", "toto!")
|
||||||
ft_set = {"Hello", "tutu!"}
|
ft_set = {"Hello", "tutu!"}
|
||||||
ft_dict = {"Hello" : "titi!"}
|
ft_dict = {"Hello": "titi!"}
|
||||||
|
|
||||||
|
# doc : https://docs.python.org/3.10/tutorial/datastructures.html
|
||||||
|
|
||||||
# ft_list
|
# ft_list
|
||||||
ft_list.append("World" + ft_list[1][-1])
|
ft_list.append("World" + ft_list[1][-1])
|
||||||
@@ -10,8 +12,8 @@ ft_list.pop(1)
|
|||||||
# ft_tuple
|
# ft_tuple
|
||||||
ft_tuple = ft_tuple[0], "France!"
|
ft_tuple = ft_tuple[0], "France!"
|
||||||
|
|
||||||
# ft_set
|
# ft_set, symetric difference :
|
||||||
# ft_set = "{'Hello', 'Paris!'}" # mouhaha
|
# https://docs.python.org/3.10/library/stdtypes.html#frozenset.symmetric_difference
|
||||||
ft_set ^= {"tutu!", "Paris!"}
|
ft_set ^= {"tutu!", "Paris!"}
|
||||||
|
|
||||||
# ft_dict
|
# ft_dict
|
||||||
@@ -19,5 +21,5 @@ ft_dict["Hello"] = "42Paris!"
|
|||||||
|
|
||||||
print(ft_list)
|
print(ft_list)
|
||||||
print(ft_tuple)
|
print(ft_tuple)
|
||||||
print(ft_set)
|
print(ft_set) # set is unordered, so output order is hasardous
|
||||||
print(ft_dict)
|
print(ft_dict)
|
||||||
@@ -1,16 +1,29 @@
|
|||||||
import datetime as dt
|
import datetime as dt
|
||||||
|
import time as tm
|
||||||
|
|
||||||
# https://docs.python.org/3.10/library/datetime.html?highlight=time#datetime.datetime
|
# https://docs.python.org/3.10/library/datetime.html?highlight=time#datetime.datetime
|
||||||
now = dt.datetime.now()
|
now = dt.datetime.now()
|
||||||
epoch = dt.datetime(1970, 1, 1)
|
|
||||||
|
# # for memory
|
||||||
|
# epoch = dt.datetime(1970, 1, 1)
|
||||||
|
# delta = now - epoch
|
||||||
|
# deltaInSeconds = delta.total_seconds()
|
||||||
|
|
||||||
# https://docs.python.org/3.10/library/datetime.html?highlight=time#strftime-and-strptime-behavior
|
# https://docs.python.org/3.10/library/datetime.html?highlight=time#strftime-and-strptime-behavior
|
||||||
formatDate = now.strftime("%b %d %Y")
|
format_date = now.strftime("%b %d %Y")
|
||||||
|
|
||||||
delta = now - epoch
|
epoch_delta_in_seconds = tm.time()
|
||||||
|
|
||||||
deltaInSeconds = delta.total_seconds()
|
# str.format https://docs.python.org/3.10/library/string.html#formatstrings
|
||||||
deltaInSecondsStr = "{:,.3f}".format(float(deltaInSeconds))
|
epoch_delta_in_seconds_str = "{:,.4f}".format(epoch_delta_in_seconds)
|
||||||
deltaInScientificStr = "{:.2e}".format(float(deltaInSeconds))
|
epoch_delta_in_scientific_str = "{:.2e}".format(epoch_delta_in_seconds)
|
||||||
|
|
||||||
print("Seconds since January 1, 1970: " + deltaInSecondsStr + " or " + deltaInScientificStr + " in scientific notation\n" + formatDate)
|
print(
|
||||||
|
"Seconds since January 1, 1970: ",
|
||||||
|
epoch_delta_in_seconds_str,
|
||||||
|
" or ",
|
||||||
|
epoch_delta_in_scientific_str,
|
||||||
|
" in scientific notation\n",
|
||||||
|
format_date,
|
||||||
|
sep=""
|
||||||
|
)
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ def all_thing_is_obj(object: any) -> int:
|
|||||||
|
|
||||||
# https://docs.python.org/3.10/tutorial/controlflow.html#match-statements
|
# https://docs.python.org/3.10/tutorial/controlflow.html#match-statements
|
||||||
match object:
|
match object:
|
||||||
# class patterm : check against a class (check if instance when empty arguments) https://docs.python.org/3/reference/compound_stmts.html#class-patterns
|
# class pattern, against a class (or instance if empty arguments):
|
||||||
|
# https://docs.python.org/3/reference/compound_stmts.html#class-patterns
|
||||||
case list():
|
case list():
|
||||||
print("List : ", ofType)
|
print("List : ", ofType)
|
||||||
case tuple():
|
case tuple():
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from find_ft_type import all_thing_is_obj
|
|||||||
ft_list = ["Hello", "tata!"]
|
ft_list = ["Hello", "tata!"]
|
||||||
ft_tuple = ("Hello", "toto!")
|
ft_tuple = ("Hello", "toto!")
|
||||||
ft_set = {"Hello", "tutu!"}
|
ft_set = {"Hello", "tutu!"}
|
||||||
ft_dict = {"Hello" : "titi!"}
|
ft_dict = {"Hello": "titi!"}
|
||||||
|
|
||||||
all_thing_is_obj(ft_list)
|
all_thing_is_obj(ft_list)
|
||||||
all_thing_is_obj(ft_tuple)
|
all_thing_is_obj(ft_tuple)
|
||||||
|
|||||||
@@ -4,16 +4,22 @@ def NULL_not_found(object: any) -> int:
|
|||||||
match object:
|
match object:
|
||||||
case None:
|
case None:
|
||||||
print("Nothing:", object, nullType)
|
print("Nothing:", object, nullType)
|
||||||
# using a guard https://docs.python.org/3/reference/compound_stmts.html#guards
|
|
||||||
# (NaN == NaN) = false https://docs.python.org/3.10/reference/expressions.html#value-comparisons "A counter-intuitive implication is that not-a-number values are not equal to themselves"
|
# using a guard :
|
||||||
|
# https://docs.python.org/3/reference/compound_stmts.html#guards
|
||||||
|
# (NaN == NaN) = false :
|
||||||
|
# https://docs.python.org/3.10/reference/expressions.html#value-comparisons
|
||||||
|
# "A counter-intuitive implication is that not-a-number values are not
|
||||||
|
# equal to themselves"
|
||||||
|
|
||||||
case float() if object != object:
|
case float() if object != object:
|
||||||
print("Cheese:", object, nullType)
|
print("Cheese:", object, nullType)
|
||||||
# need check before int(), why ?
|
# need check before int(), why ?
|
||||||
case bool() if object == False :
|
case bool() if object is False:
|
||||||
print("Fake:", object, nullType)
|
print("Fake:", object, nullType)
|
||||||
case int() if object == 0 :
|
case int() if object == 0:
|
||||||
print("Zero:", object, nullType)
|
print("Zero:", object, nullType)
|
||||||
case str() if object == '' :
|
case str() if object == '':
|
||||||
print("Empty:", nullType)
|
print("Empty:", nullType)
|
||||||
case _:
|
case _:
|
||||||
print("Type not Found")
|
print("Type not Found")
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Nothing = None
|
|||||||
Garlic = float("NaN")
|
Garlic = float("NaN")
|
||||||
Garlic2 = float("2")
|
Garlic2 = float("2")
|
||||||
Zero = 0
|
Zero = 0
|
||||||
Empty = '' # ’’
|
Empty = '' # ’’
|
||||||
Fake = False
|
Fake = False
|
||||||
Right = True
|
Right = True
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,9 @@ def check_parity(args: list[str]):
|
|||||||
else:
|
else:
|
||||||
print("I'm Odd.")
|
print("I'm Odd.")
|
||||||
|
|
||||||
# execute module as a script : https://docs.python.org/3.10/tutorial/modules.html#executing-modules-as-scripts
|
|
||||||
|
# execute module as a script :
|
||||||
|
# https://docs.python.org/3.10/tutorial/modules.html#executing-modules-as-scripts
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# https://docs.python.org/3.10/library/sys.html
|
# https://docs.python.org/3.10/library/sys.html
|
||||||
import sys
|
import sys
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ def get_message(argv: list[str]) -> str:
|
|||||||
|
|
||||||
# stdin https://docs.python.org/3/library/sys.html#sys.stdin
|
# stdin https://docs.python.org/3/library/sys.html#sys.stdin
|
||||||
print("What is the text to count?")
|
print("What is the text to count?")
|
||||||
msg = sys.stdin.readline()
|
msg = sys.stdin.readline(424242)
|
||||||
return msg
|
return msg
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
39
d00/ex06/filterstring.py
Normal file
39
d00/ex06/filterstring.py
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
def get_args(argv: list[str]) -> dict[str, int]:
|
||||||
|
"""check and return arguments"""
|
||||||
|
|
||||||
|
error_msg = "the arguments are bad"
|
||||||
|
|
||||||
|
assert len(argv) == 3, error_msg
|
||||||
|
|
||||||
|
try:
|
||||||
|
msg_len = int(argv[2])
|
||||||
|
except ValueError:
|
||||||
|
raise AssertionError(error_msg)
|
||||||
|
|
||||||
|
return {"text": argv[1], "len": msg_len}
|
||||||
|
|
||||||
|
|
||||||
|
def main(argv: list[str]):
|
||||||
|
"""filter small words in string"""
|
||||||
|
|
||||||
|
try:
|
||||||
|
args = get_args(argv)
|
||||||
|
except AssertionError as err:
|
||||||
|
print("AssertionError:", err)
|
||||||
|
return
|
||||||
|
|
||||||
|
text = args["text"]
|
||||||
|
maxlen = args["len"]
|
||||||
|
|
||||||
|
print(text.split())
|
||||||
|
|
||||||
|
words = [word for word in text.split()] # mouhaha
|
||||||
|
|
||||||
|
filter_words = list(ft_filter(lambda word: len(word) > maxlen, words))
|
||||||
|
print(filter_words)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
import sys
|
||||||
|
from ft_filter import ft_filter
|
||||||
|
main(sys.argv)
|
||||||
Reference in New Issue
Block a user