# this is a test project
i = input() # cin>>
a = int(i)
print(r"123\n") # 非转义
print(True) # bool
print(False)
print(10 // 3) # div
if a > 10: # if else
print("The input is bigger than 10")
elif a > 5:
print("The input is between 6~10")
else:
print("The input is smaller than 10")
print(ord('A')) # Unicode编码
print(ord('我')) # 支持所有语言
print(chr(2221)) # Unicode编码对应的字符
print("Hello %s%d" % ("world", 3)) # 格式化输出,和c类似
# List
# tuple 元组 和List的区别就是tuple一旦初始化了,就不能修改,当然里面可以放list元素来实现动态添加的功能
fruit = ['apple', 'banana', 'juice']
print(fruit[1])
# 循环
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: # 枚举型循环
sum = sum + x
print(sum)
sum = 0
for i in range(10, 100):
sum += i
n = 1
while n <= 100:
if n > 10: # 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n = n + 1
# dict 相当于c++中的Map
dict1 = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(dict1.get(dict1, 'Tracy'))
dict1['Michael'] = 100
# Python也支持强制转换
# 定义函数
def my_abs(x):
if x >= 0:
return x
else:
return -x
# 加入参数默认值,有默认值的情况下,可以不传入此参数
# 需要注意默认参数必须指向不变对象!否则默认值会随着对象值不停改变
# None是不变对象
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
# 可变参数numbers
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
# 关键字参数**kw
# 可以实现传入任意数量的不同参数名的参数,传入后以dict方式保存
# 这样用户可以
def person(name, age, **kw):
if 'city' in kw:
# 有city参数
pass
if 'job' in kw:
# 有job参数
pass
print('name:', name, 'age:', age, 'other:', kw)
# 命名关键字参数
# 限制关键字参数的名称
# 命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。
def person(name, age, *, city, job):
print(name, age, city, job)
# 使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。
# 切片
L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
print(L[0:3])