七、常用运算符
# 算法运算: + - * / .....
# 比较运算:> >= < <= ==...
# 赋值运算:+= -= / =....
# 逻辑运算:and or not
# 成员运算:in , not in
# 身份运算type(x)...
# 位运算:2进制运算
#取模
for i in range(20):
if i % 2 != 0: # 奇数
print(i)
2**8 #2的八次方
9//2 #求商 4
#赋值运算符
a = a + 1
判断
== #判断
!= #判断不等于
逻辑运算
以下假设变量 a=10 , b= 20
and #判断多个条件均为真时,返回真 a>10 and b>10 结果为false
or #判断多个条件任一条件为真时,返回真 a>10 or B>10 结果为true
not 取反 not a > b 结果为true
演示:读取用户输入
name = input("your name:")
age = input("age:")
hobbie = input("Your hobbie:")
job = input("your job:")
msg = f'''
---------{name}----------
name = {name}
age = {age}
hobbie = {hobbie}
job = {job}
--------END---------
'''
print(msg)
输出:your name:>? 云雀
age:>? 23
Your hobbie:>? girl
your job:>? play
---------云雀----------
name = 云雀
age = 23
hobbie = girl
job = play
--------END---------
命令行操作
cd ~/ #切换目录
`d #退出
演示
name = input("你的名字:")
age = int(input("年龄:")) #输入数字转格式
hobbie = input("爱好:")
job = input("工作:")
msg = f'''
---------INFORMATION----------
name = {name}
age = {age} wow still young . in {30-age} years you will be 30 . # {}内为变量
hobbie = {hobbie}
job = {job}
--------END---------
'''
print(msg)
输出结果:你的名字:>? 云雀
年龄:>? 22
爱好:>? play
工作:>? qq
---------INFORMATION----------
name = 云雀
age = 22 wow still young . in 8 years you will be 30 .
hobbie = play
job = qq
--------END---------
演示
name = input("你的名字:")
age = input("年龄:")#输入数字转格式
if age.isdigit(): #流程判断 ()内是否是数字
age = int(age) #转为数字类型
else:
print("错误的输入...即将退出")
exit()
hobbie = input("爱好:")
job = input("工作:")
msg = f'''
---------INFORMATION----------
name = {name}
age = {age} wow still young . in {30-age} years you will be 30 .
hobbie = {hobbie}
hob = {job}
--------END---------
'''
print(msg)
演示
name = input("你的名字:")
age = input("年龄:")#输入数字转格式
if age.isdigit():
age = int(age)
else:
print("你的输入有误..即将退出")
exit()
hobbie = input("爱好:")
job = input("工作:")
msg = f'''
---------INFORMATION----------
name = {name}
age = {age} wow still young . in {30-age} years you will be 30 .
hobbie = {hobbie}
hob = {job}
--------END---------
'''
print(msg)
流程控制
单分支:a=10
if a>10:
print("a is small")
双分支:a=10
if a<10:
print("a is small.")
else:
print("a is big.")
多分支:
budget = 1000
if budget < 500:
print("这个预算没得选")
elif budget < 800:
print("6号不错")
elif budget < 1500:
print("7号不错")
elif budget < 2000
print(8号不错)
elif budget < 3000
print("10号不错")
else:
print("没得选")
嵌套分支
loneliness = 80
monkey = 1000
if loneliness > 70 :
print("想去玩")
if monkey < 1000:
print("钱太少,洗洗睡吧")
#嵌套分支最对不要超过4层,不是不行,而是层级过多会使程序笨拙,后期不易扩展,相当于把代码写死了
二、for...循环
#循环有两种,一种for循环 ,一种while
for i in range(10): #range(10) 生成从0到9的一个列表 i 为临时变量名, i 可更改,后面须给一个临时数据的集合
print("hello,my name is 云雀 , i love this world.")
for name in ["aa","bb","cc","dd"]:
print(name)
# 输出为
aa
bb
cc
dd
for i in "larks":
print(i)
# 输出为:
l
a
r
k
s
打印奇偶数
for i in range(101):
if i % 2 == 0: # %为取模 判断有没有余数
print(i)
for i in range(101):
if i % 2 != 0 : #当不等于0时就是奇书
print(i)
for i in range(101):
if i > 50:
if i % 2 != 0 : #当不等于0时就是奇书
print(i)
for i in range(50,101): #选取50到100中间的数
if i % 2 != 0 :
print(i)
for i in range(100.50,-1): #倒序
if i % 2 != 0 :
print(i)
#演示复习
if __name__ == '__main__':
print_hi('PyCharm')
# 访问 https://www.jetbrains.com/help/pycharm/ 获取 PyCharm 帮助
name = input("你叫什么名字?")
age = input("你今年多大了?")
if age.isdigit():
age = ini(age)
else:
print("你的输入有误..即将退出..")
exit()
hobble = input("你的爱好是什么?")
job = input("你的工作?")
嵌套循环
for floor in range(1.7):
print(f"当前在{floor}层..")
for room in range(1,10):
print(f"当前房间是{floor}0{room}室")
演示操作
for floor in range(1,7): #floor 变量 译;楼层 从1到7
print(f"当前在{floor}层..") #
for room in range(1,10): #房间有10个
print(f"当前房间是{floor}0{room}室") #
# 嵌套循环
for floor in range(1,10):
print(f"当前在{floor}层".center(50,'-')) #center(50,'-') 行为为----------------------当前在9层-----------------------
for room in range(1,6):
print(f"现在{floor}0{room}")
学习记录
for floor in range(1,10):
print(f"当前在{floor}层".center(50,'-'))#center(50,'-') 行为为----------------------当前在9层-----------------------
if floor == 3:
print("不走第三层.")
continue # 停止本次循环,进入下一次
for room in range(1,6):
if floor == 4 and room == 4: #楼层4,房间4 标注位置
print("见鬼了..")
break #结束当前循环 程序继续运行
exit() #退出
#标志位.跳出整个循环 (以后会讲)
print(f"现在{floor}0{room}")
print("haha,stll here..")
for floor in range(1,8):
print(f"这是第{floor}层".center(20,'-'))
if floor == 4:
print("不走第四层..")
continue
for room in range(1,6):
if floor == 5 and room == 4:
print("见鬼了...")
exit()
print(f"当前在{floor}0{room}房间")
99乘法表
#99乘法表
for i in range(1,10):
for j in range(1,i+1):
print(f"{i}x{j}={i*j}",end=" ") #end 改变print默认参数换行,改变为“ ”
print() #通过print默认参数实现换行,大循环不变,小循环换行
操作实例
for i in range(1,10): #设置为10次
for j in range(1,i+1): #设置为j10次 #设定两个变量 把10改为变量i,因为j和i不能相同,须加1,才可打印出同样数值的相乘
print(f"{i}x{j}={i*j}",end = " ") #用end 改变print 的默认设置,使print不换行 换成空格
print() #因为print的换行默认设置,即可输出 通过print默认参数实现换行,大循环不变,小循环换行
for i in range(1,10):
for j in range(1,i+1): #须加1,表示从1到i+1
print(f"{i}x{j}={i*j}",end = " ")
print()
for i in range(2,101): # i = 9 #大循环,求1-100之间的所有的值,1不求
is_prime_num = True #假设i是素数
for j in range(2,i): #拿2-8之前所有数,跟9相除, 如果能被9整除,代表9不是素数
if i % j == 0 :#能整除,代表 i 不是素数
is_prime_num = False
# else: #不能被整除,代表9是素数
# print(i,"is prime num") #不需要
if is_prime_num == True:
print(i,"是素数..")
for i in range(2,101): # i = 9 #大循环,求1-100之间的所有的值,1不求
is_prime_num = True #假设i是素数
for j in range(2,i): #拿2-8之前所有数,跟9相除, 如果能被9整除,代表9不是素数
if i % j == 0 :#能整除,代表 i 不是素数
is_prime_num = False
if is_prime_num == True:
print(i,"是素数..")
打印三角形
#打印三角形
for i in range(10):#i = 6:
if i <= 5: #如果i小于等于5
print(" * " * i ) 就打印这样
else: #否则
print(" * " * (10-i))