# ------------------------------------------注释
# 单行注释 快捷键：ctrl+/
"""
多行注释
多行注释
"""
# 可以利用注释来进行调试


# ------------------------------------------HelloWorld
print('Hello world!')


# ------------------------------------------变量和数据类型

# 定义变量：变量名=数据 /不用指定数据类型
a = 10
print(a)  # 使用变量

# 变量可以多次赋值，在程序中可变
b = 2
b = '布鲁布鲁'
print(b)

# type()可以查看数据类型
a = 10  # 整数类型
print(type(a))
a = '布鲁布鲁'  # 字符串类型
print(type(a))
a = 12.345  # 浮点类型
print(type(a))
a = True  # 布尔类型
print(type(a))

# 高级类型
b = ()  # 元组类型
print(type(b))
c = []  # 列表类型
print(type(c))
d = {}  # 字典类型
print(type(d))

# 变量的命名：
# 以字母或下划线开头；
# 其他字符可以是字母数字下划线；
# 区分大小写；
# 关键字不能用作变量名


# ------------------------------------------算术运算符
# + 加法:算术加法
# - 减法:算术减法
# * 乘法:算术乘法
# **指数:左边的数是底数，右边是指数
# % 取余:x%y x除以y的余数
# / 除法:x/y 结果包含小数点后面的数
# //地板除:x//y 结果是忽略小数点后面的小数位，只保留整数位
a = 7
b = 3
c = 10
print(a + b * c)
print(a - b)
print(a * b)
print(a ** 2)
print(a / b)
print(a // b)


# ------------------------------------------比较运算符
# ==	等于
# !=	不等于
# >	    大于
# <	    小于
# >=	大于或等于
# <=	小于或等于
a, b = 10, 5
print(a == b)
print(a != b)
print(a >= b)
print(a <= b)
print(a > b)
print(a < b)


# ------------------------------------------逻辑运算符
# and	x and y	  x,y同为真，则结果为真，如果一个为假，则结果为假
# or	x or y	  x,y有一个为真，则结果为真，全部为假，则结果为假
# not	not x	  取反，如果x为真，则结果为假，如果x为假，则结果为真
# 优先级：() > not > and > or
a, b, c, d = 23, 18, 10, 3
print(a + b > c and c < d)
print(c > d and a > b)
print(a < b or b > d)
print(not a < b)
print(2 > 1 and 1 < 4 or 2 < 3 and 9 > 6 or 2 < 4 and 3 < 2)


# ------------------------------------------赋值运算符
# =	    赋值运算符	  将=号右边的的值赋值给左边的变量
# +=	加法赋值运算符	  c += a 等效于 c = c + a
# -=	减法赋值运算符	  c -= a 等效于 c = c - a
# * =	乘法赋值运算符	  c *= a 等效于 c = c * a
# /=	除法赋值运算符   c /= a 等效于 c = c / a
# %=	取模赋值运算符	  c %= a 等效于 c = c % a
# **=	幂赋值运算符	  c **= a 等效于 c = c ** a
# //=	取整赋值运算符	  c //= a 等效于 c = c // a
a = 1
b = 2
a += b
print(a)
a = 2
a **= 3
print(a)


# ------------------------------------------格式化输出
# 1：%
# python有一个简单的字符串格式化方法，使用%做占位符。%后面跟的是变量的类型。
# 一个萝卜一个坑。%s代表字符串，%d代表有符号十进制整数，%f代表浮点实数
name1 = '张三'
name2 = '罗小翔'
age = 18
print('法外狂徒%s，遵纪守法%s，年芳%d' % (name1, name2, age))  # 字符串格式化

# 2：.format()
name = 'A'
phone = 123456
print('姓名：{}，电话是：{}' .format(name, phone))


# ------------------------------------------\n 换行
print('我要\n换行')


# ------------------------------------------输入
# Python中提供了input 方法来获取键盘输入
# 注意：input接收的键盘输入结果都是str类型的，如果接收数字类型需要将str转成int
n = input("请输入您的姓名：")
p = input("请输入您的电话：")
print(type(p))
print('姓名：{}，电话是：{}' .format(n, p))

n1 = input("请输入您的姓名：")
p1 = int(input("请输入您的电话："))  # 类型转换
print(type(p1))
print('姓名：{}，电话是：{}' .format(n1, p1))