a1 = input() # 直接输入
# 注:python中input()得到的是字符串类型
a2 = input('please input your password : ') # 有提示信息的输入
a3, a4 = eval(input(), input()) # 多输入
a5 = eval(input()) # 改变数据类型,输入整数转换为整数,浮点数转换为浮点数
print(type(a5)) # 查看a5的数据类型
# ***********注关于map()和eval()的用法*************
# 1.利用map()可以将 多输入 和 数据转换 结合起来
a, b, c = map(int, input().split())
# map(数据类型, 数据(比如列表)),这里参数1是int类型。
# 输入3个数,以空格分开,如input()得到'12 13 14',
# split()函数把'12 13 14'按空格分开,并送到map()函数中转换int类型,再分别赋值给a, b, c。
print(a, b, c)
# 2.eval -- 计算在字符串中的有效Python表达式,并返回一个对象。
# eval()的作用简单理解为把字符串的单引号去掉了,剩下什么就是什么。
# 例 1:
str2 = '10'
str3 = '10.25'
str4 = '(100,200,400)'
str5 = '[110,230,350]'
print(type(eval(str2)))
print(type(eval(str3)))
print(type(eval(str4)))
print(type(eval(str5)))
# 例 2:
x = 234
print(eval('x + 3')) # 结果是237
# 例 3:
a, b, c = eval(input()) # 输入:1,2,3 之间以逗号分隔,可以分别赋值
# 原理是:input()得到'1,2,3',eval()去掉单引号之后总得给它一个数据类型吧,默认是转换
# 为元组类型,所以eval()之后得到元组(1,2,3)。
# 可以放到 pycharm 中运行一下熟悉
my_name = 'zmz'
print(my_name)
ChineseName = '张明志'
print(ChineseName)
num1 = 1
print(type(num1))
num2 = 1.1
print(type(num2))
a = 'hello world'
print(type(a))
b = True
print(type(b))
c = [1, 2, 3, 20]
print(c)
print(type(c))
d = (1, 20, 30)
print(type(d))
e = {10, 20}
print(type(e))
f = {'name': 'zmz', 'agc': 18}
print(f)
print(type(f))
# 例 1:
num = input('please input your password : ')
print(num)
print(type(num)) # 我们输入的是一个数,但input()得到的是str类型,
print(type(int(num))) # str转int
print(type(float(num))) # str转float
print(type(tuple(num))) # str转tuple
print(type(list(num))) # str转list
# 例 2:
# tuple() -- 将一个列表转换成元组
list1 = [12, 20, 30]
print(list1)
print(tuple(list1))
# 例 3:
# list() -- 将一个元组转化成列表
tuple1 = (1, 2, 4)
print(list(tuple1))
"""
# 注:其他转换数据类型也类似,并不难
"""
两张图解释,简单明了。
下面是一些例子,可以看看,能看懂就可以了,看不懂放到pycharm中运行一下。
"""**********(一)***********
一个整数(如100),它的数据类型可以是浮点型,也可以是整型
%= 取模(余)赋值
**= 幂赋值运算 a **= 3 等效于 a = a ** 3 这里将a的3次方赋值给a
//= 整除运算(丢掉余数留下商) a //= 3 等效于 a = a // 3
:= 赋值表达式
/ 除以这个符号的结果一定是浮点数
"""
if name := input() != '':
pass
ans1 = 10 // 3
ans2 = 10 % 3
ans3 = 2 ** 3
print(ans1, ans2, ans3)
ans1 += 2
ans2 /= 2
ans3 //= 3
print(ans1, ans2, ans3)
n1, n2, str = 1, 1.1, 'abc' # multiple assignments(多项赋值)
print(n1, n2, str)
a = b = 10
print(a, b)
print(2 == 1)
print(2 == 2)
print(5 >= 2)
print(3 != 3)
a = 6
b = 8
c = 10
print('逻辑运算符:')
print(a < b < c) # a < b and b < c
print(a > b or b < c)
print((not a) < b)
print(not -1)
"""***********(二)************
三目运算符
"""
a = 1
b = 2
c = a if a > b else b
print(c)
aa = 10
bb = 6
cc = aa - bb if aa > bb else bb - aa
print(cc)
str = 'a >= 1' if a >= 1 else 'a < 1'
print(type(str))
print(str)
"""***********(三)************
内置数值运算函数
"""
print(pow(2, 1024))
print(2 ** 1024)
print(2 ** -2)
print(2 ** 0.5)
print(abs(eval(input())))
print(divmod(input(), input()))
print(round(input(), 3)) # 四舍六入,保留到小数点后3位,如果不写的话,默认是取整(即没有小数部分)
print(max(1, 243, 4365, 56))
print(min("qehrigtnergujonewrigy"))
print(abs(3 + 4j))
# 输出的三种方式
# 1.f'{}'形式
print(f'hello,{input()}')
# 2.'{}'.format()形式
print('hello,{}'.format(input()))
# 3.'%05d,%.3f,%s' % (变量1, 变量2, 变量3)形式
# 举例如下
age = 18
name = 'zmz'
weight = 72.1
stu_id = 12
print('年龄:%d' % age)
print('姓名:%s' % name)
print('体重:%.2f' % weight)
print('学号:%05d' % stu_id)
print('学号%05d,年龄%d,下一年年龄%d' % (stu_id, age, age+1))
print('姓名%s,年龄%d,体重%.2f,学号%04d' % (name, age, weight, stu_id))
print('姓名%s,年龄%s,体重%s,学号%s' % (name, age, weight, stu_id))
print(f'姓名{name},年龄{age},体重{weight},学号{stu_id}')
print('hello\nzmz')
print('hello', end="\t")
print('world')
print('hello', end="\n")
print('dear', end="\t") # when it's not 'dear' but 'dog', '\t' doesn't output 4 'blank'
print('you', end="...")
print('are my sunshine', end="!!")