python基础day02
程序员文章站
2022-03-02 20:26:19
...
python基础day02
#算术运算符
'''
+ : 数字 算术加 , 如果字符串 拼接
-,/
*: 数字相乘, 如果是字符串和数字相乘 表示重复字符串的次数
% : 取余(取模)
// : 取整(取商)
** : 取幂(次方)
'''
num1 = 1 + 2 #int和float是运算相加
name1 = '张' + '飞' #字符串是拼接
num2 = 2 - 1
num3 = 2 * 3 #int和float是运算相乘
name3 = 'jack' * 3 #字符串和int相乘是重复字符串
num4 = 6 / 2
num5 = 5 % 2
num6 = 5 // 2
num7 = 5 ** 2
print(num1)
print(name1)
print(num2)
print(num3)
print(name3)
print(num4)
print(num5)
print(num6)
print(num7)
# 比较运算符
a = 2
b = 3
print(a > b) # 打印a>b是否为真的结果
print(a >= b) # 打印a>=b是否为真的结果
print(a < b) # 打印a<b是否为真的结果
print(a <= b) # 打印a<=b是否为真的结果
print(a != b) # 打印a不等于b是否为真的结果
print(a == b) # 打印a等于b是否为真的结果
# #赋值运算
# = 赋值
# -= 先减再赋值
# += 先加再赋值
a = 1
a -= 1 # a=a-1
a += 1 # a=a+1
#其他同理, *=,/=,%=,//=,**=
# 身份运算,比较数据地址是否一样
'''
is 两者地址是否一样
is not 两者地址是否不同
1.简单数据:int,float,string,None
数据内容和类别相同,数据地址相同
2.复杂数据:list,tuple,dict
数据相同,地址也不同
'''
name1 = '张'
name2 = '张'
print(name1 == name2) # 判定两者的值是否一样
print(name1 is name2) # 判定两者的数据地址是否一样
name3 = [1, 2, 3]
name4 = [1, 2, 3]
print(name3 == name4) # 判定两者的值是否一样
print(name3 is name4) # 判定两者的数据地址是否一样
print(name3 is not name4) # 判定两者的数据地址是否不同
# 逻辑运算
'''
and 与 全真才真,一假就假
or 或 一真就真,全假才假
not 非 取反
'''
print(True and True)
print(True and False)
print(False and False)
print(True or True)
print(True or False)
print(False or False)
print(not True)
print(not False)
# 类型转换
'''
int()
float()
str()
通常,同种类型的数据才能运算,
特例:
1.int和float可以运算,结果为float
2.int之间进行/或/=运算,结果为float
3.字符串和int之间可以用*,效果为重复字符串
4.布尔值可以和int,float运算,True为1,False为0
a= True
b= 1
c=False
print(a+b)
print(b+c)
'''
int()
float()
str()
# 字符串的格式化输出
'''
%-string 用%占位符占位,字符串后跟 % (变量1,变量2,变量3)
要求前后位置一一对应,且数据类型正确
%d 整型 %06d 占6位,且不足6位的用0补齐
%f 浮点型 %.2f 小数位占2位,
%s 字符串
'''
first_name = '张'
age = 18
height = 1.73
print('我姓%s,今年%03d岁,身高%.2f米.' % (first_name, age, height))
'''
f-string 字符串前加f,中间直接用{}括起变量名
浮点小数控制 {浮点变量:.2f}
整型位数控制 {整型变量:03d}
'''
print(f'我姓{first_name},今年{age:03d}岁,身高{height:.2f}米')
# 手动换行
print('有些人,\n 光是活着就用尽全力了.\n ----坂田银时')
# 条件语句-多分支
age=int(input('你今年多大:'))
if age<=15:
print('你看英雄学院吧.')
elif age<=20:
print('你看博人传吧')
elif age<=25:
print('是不是喜欢巨人')
elif age<=30:
print('三大民工漫,就剩海贼在坚挺了,知足吧')
elif age<=35:
print('*完结的银魂就像是你我*埋藏的青春')
else:
print('不好意思打扰了.')
if嵌套
age=int(input('你多大:'))
money=int(input('身上多少钱:'))
if age>=18:
print('可以进网吧')
if money>=20:
print('有钱耍一下午,美滋滋')
else:
print('但是没钱,去学习挣钱吧,老男人.')
else:
print('太小了,你现在是学习的年纪,加油!')
# while循环
'''
* #i=1,4空格(none1=5-i),1*,(none2=2*(i-1)-1),(none2<=0)
* * #i=2,3空格(none1=5-i),1*,1空格(none2=2*(i-1)-1),(none2>0)1*
* * #i=3,2空格(none1=5-i),1*,3空格(none2=2*(i-1)-1),(none2>0)1*
* * #i=4,1空格(none1=5-i),1*,5空格(none2=2*(i-1)-1),(none2>0)1*
* * #i=5,0空格(none1=5-i),1*,7空格(none2=2*(i-1)-1),(none2>0)1*
* * #i=6,1空格(none3=i-5),1*,5空格(none4=2*(9-i)-1),1*
* * #i=7,2空格(none3=i-5),1*,3空格(none4=2*(9-i)-1),1*
* * #i=8,3空格(none3=i-5),1*,1空格(none4=2*(9-i)-1),1*
* #i=9,4空格(none3=i-5),1*,(none4=2*(9-i)-1)
'''
# none1 = int(5 - i)
# none2 = int(2 * (i - 1) - 1)
# none3 = int(i - 5)
# none4 = int(2 * (9 - i) - 1)
i = 1
while i <= 9: # while循环,i小于等于9的情况下
if i <= 5: # 添加判定,i小于等5的情况下
none1 = 5 - i # 定义none1的值
none2 = 2 * (i - 1) - 1 # 定义none2的值
if none2 <= 0: # 添加判定,none2小于等于0的情况下
print(' ' * none1, '*',sep='') # 输出none1个空格,*
else: # 判定条件不满足,既none2大于0的情况下
print(' ' * none1, '*', ' ' * none2, '*',sep='') # 输出none1个空格,*,none2个空格,*
i += 1 # i递增1
else:
none3 = i - 5
none4 = 2 * (9 - i) - 1
if none4 >= 0:
print(' ' * none3, '*', ' ' * none4, '*',sep='')
else:
print(' ' * none3, '*',sep='')
i += 1
#上题另一种解法
i = -4 #给赋值i=-4
while i <= 4: #i<=4的时候循环
print(" " * (abs(i)),end="") #打印i的绝对值个空格,不提行
j = 1 #赋值j=1
while j <= (5 - abs(i)) *2 -1: #while循环,j<= 5减i的绝对值,再乘以2,再减1的时候循环
if j == 1 or j == (5 - abs(i)) *2 -1:
print("*",end="")
else:
print(" ",end="")
j += 1
i += 1
print()
下一篇: Python基础Day02