a = "123456789"
c = slice(0,-1)
print(a[2])
b = a[c]
d = a[:-1]
print(b, d)
from decimal import Decimal
b = Decimal('0.3') - Decimal('0.2')
print(b)
x = 10**50 # 1 followed by 100 zeros
print(x)
print(type(x)) # Still <class 'int'>
print(("helloOne".upper().lower().title() * 3).capitalize())
a = ("helloOne".upper().lower().title() * 3).capitalize()
#print(("helloOne".upper().lower().title() * 3).capitalize().isalnum())
print(a.isalnum())
name = "testing"
age = 30
print("name = %s, age = %d" % ("testing",30) )
print("name = " + name + ", age = " + str(age))
print("name = {a}, age = {b}, name again {a}".format(a="testing", b=30))
print("name = {a}, age = {b}, name again {a}".format(a="testing", b=10+20))
x = 5
sum_x = 5+5
print(f"Double {4}: {4} + {4} = {4+4}")
print(f"Double {x}: {x} + {x} = {sum_x}")
print(f"{name:<<10s}{age:->10.2f}{' ':$<10}")
print(f"{name:<10}{age:->5.2f}")
print(f"{'Apple':^10}")
################################################## temp 7 self-Testing ############################################################
#List
print("*********** temp 7 *****************")
a=[1,[2,3],4,5,6,7,8,9,['a','b','c']]
print(a[8][1])
a=[1,[2,3],4,[5,[[6],7]],8,9,['a','b','c']]
print(a[3][1][0][0])
a[0] = 10
print(a)
a[1] = 10
print(a)
a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
print(a[10], a[-4])
b=slice(0,7,1) # start, end-1, step
print(type(b))
print(a[b], a[0:7:1])
print(a[b], a[0:15:7])
x = 2
y = 17
z = 6
b = slice(x,y,z) # start, end-1, step
print("aaa")
print(a[x:y:z])
print("bbb")
print(a[7:2:1])
print(a[7:-1:1])
print(a[7:-1:-1])
print("ccc")
print(a[-1:0:-4])
print(a[15:0:-4])
#allow empty value and some functions
print(a[-1::-1])
print(a[:10]) # 0:10:1
print(a[::5]) # 0:len(a):5
print(a[0:15:1])
print("ddd")
del a[::5]
print(a)
a.remove(4)
print(a)
a = [1,2,3,4,5,4,6,7,8,9,10,11,12,13,14,15,16]
a.remove(4)
print(a)
a.clear()
print(a)
a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
a = []
print(a)
a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
a.sort(reverse=True) # change original list
print(a)
print("eee")
b = sorted(a)
print(a)
print(b)
print("fff")
a=[1,2,3,4,9,10,11,12,5,6,7,8,13,14,15]
a.sort()
print(a)
b = sorted(a,reverse=True)
print(a)
print(b)
a=[1,2,3,4,9,10,11,12,5,6,6,7,8,13,14,15]
print(a.count(6), a.index(6))
print(a.count(0), a.index(6))
#print(a.count(0), a.index(0))
############################################### temp 7 ################################################
print("#################### temp 4 ####################")
name = "john"
age = 10
#format numbers
price = 49.99
tax = 0.08
total = price * (1 + tax)
print(f"Price : ${price:.2f} | Tax : {tax:.1%} | Total: ${total:.2f}")
## f"{variable:[fill][align][width][.precision][type]}
print(f"{age:5d}")
print('1---5----01---5----0')
print(f"{'Name':<10}{'Age':>5}") # < left align, > right align ^ center
#print(f"{name:$<10}{age:->5.2f}")
print(f"{name:<10}{age:->5.2f}")
print(f"{name:<10}{age:->5d}")
print(f"{name:<10}{age:->10.2f}")
print(f"{name:<<10s}{age:->10.2f}{' ':$<10}")
print(f"{'Apple':^10}")
#1---5----01---5----0
#Name Age
#john 10
# Apple
print(f"{42:05}")
print(f"{42:0<5}")
print(f"{1234567:,}")
print(f"{42:5b}") # binary value
print(f"{42:5o}") # octal value
print(f"{42:5x}") # hex value
# scu firnat
print(f"{42:5e}") # value in e format
print(f"{42:5E}") # value in E format
print(f"{13.14564567:.5g}") # 5 sig figure
print(f"{11113.14564567:.5g}") # 5 sig figure
print(f"{1113.14564567:.5g}") # 5 sig figure
print(f"{111113.14564567:.5g}") # 5 sig figure
print(f"{111113.14564567:.5G}") # 5 sig figure
print(f"{0.14122143:.5%}") # 5 sig figure
################################### temp 5 ###################################
print("#################### temp 5 ####################")
#print(True, False, type(True))
#print(False == 0)
x = True and 2 and [1] and {0} and -1.0 and "hello" # truthy value
print(x)
y = False or 0 or [] or {} or None or 0.00 or ' ' # falsy value
print(y)
#print(print(" "))
#==========================================
default_city = 'kw'
city = ''
city = city or print("please input city") or default_city
print(city)
################################### temp 5 ###################################
################################### temp 6 ###################################
print("#################### temp 6 ####################")
name = ["john", "ann", "mary", "peter", ["ryan", 1], 2, 3, [True, 0,0,9, "hello"]]
print(name, id(name), type(name))
print(name[0], name[4])
print(name[4][0])
name[0] = ["david", 20]
name[4][0]= 'goodman'
print(name)
del name[1]
print(name)
################################### temp 6 ###################################