两个课堂小练习:
1、(计算圆柱体的体积)
编写一个读取圆柱的半径和高并利用公式计算圆柱体底面积和体积的程序
iimport math
r=eval(input("enter the r="))
h=eval(input("enter the h="))
area=r*r*math.pi
print("the area = ",area,"\nthe V =",(area*h))
2、(对一个整数中的各位数字求和)
编写一个程序,读取一个0到1000之间的整数并计算它各位数字之和
例如:如果一个整数是932,那么它各位数字之和就是14。
a=int(input("enter the num between 1 and 100:"))
sum=0
while a>0:
x=a%10
sum=sum+x
a=a//10
print("the sum =",sum))
程序控制流程
解决语句与语句之间运行的顺序的问题的
顺序 :代码整体的执行顺序 从上到下 从左到右
选择 :不同条件下,执行不同的代码
#在python中,许多语句写在同一行,需要用分号隔开
#缩进要严谨
1、单分支
if 条件:
#条件成立时执行的代码
age = int(input("请输入您的年龄:"))
if age > 18:
print("你成年了,进去玩吧")
2、双分支
双分支:
if 条件:
条件成立时执行的代码
else:
条件不成立时执行的代
import random
year=int(input("enter the year="))
if((year%4==0 and year%100!=0)or year%400==0):
print("{0}是闰年".format(year))
else:
print("{0}是平年1".format(year))
3、多分支
if 条件1:
条件1成立时执行的代码
elif 条件2:
条件2成立时执行的代码elif 条件3:
条件3成立时执行的代码
else:
条件都不成立时执行的代
m=int(input("enter the mouth="))
if (m>12 or m<0):
print("just error")
elif (1<=m<=12):
if (1<=m<=3):
print("春天来了")
elif(4<=m<=6):
print("热晕,是夏天,救命")
elif(7<=m<=9):
print("秋天是个好季节")
else:
print("我说怎么这么冷呢,原来是国服冬天")
else:
print(m)
3.1练习:猜拳 :#0:剪刀 1:石头 2:布
import random
a=random.randint(0,2)#[0,2]
b=int(input("快出拳(0,1,2)===")) #0:剪刀 1:石头 2:布
if b==0:
if(a==1):
print("我赢了")
elif a==2:
print("我输了")
else:
print("我们打平了")
elif b==1:
if a==2:
print("我赢了")
elif a==0:
print("我输了")
else:
print("我们打平了")
else:
if a==0:
print("我赢了")
elif a==1:
print("我输了")
else:
print("我们打平了")
写法 2
import random
computer = random.randint(0, 2) # [0,2]
my = int(input("请输入你所出的拳:"))
if computer == my:
print("平局")
elif (computer == 0 and my == 1) or (computer == 1 and my == 2) or (computer == 3 and my == 0):
print("你赢了")
else:
print("你输了")
条件练习
index = 11
if index > 11:
print("jfrjfirjf")
else:
pass # pass关键字保证语法的完整性
age = int(input("请输入您的年龄:"))
if age > 18:
print("你成年了,进去玩吧")
else:
if age > 16:
print("man16")
else:
print("未满16周岁")
4、循环
①、while 条件语句
循环体
②、for i in range(参数)语句
循环体
③、嵌套循环
while 练习1:100以内的奇数和与偶数和
num=0
o=0
j=0
while num<101:
if num&1==0:
o+=num
else:
j+=num
num+=1
print("偶数=",o)
print("奇数=",j)
while 练习 2:猜数字
#import random
r=random.randint(0,100)
while True:
num=int(input("enter the num ="))
if num==r:
print("yours ok!!!")
break
elif num<r:
print("small ")
else:
print("big!!!")
while 练习3:九九乘法表
i=1
while i<=9:
j=1
while j<=i:
# print(i,"*",j,"=",(i*j), " ",end="")
print("%d+%d=%d\t"%(i,j,i*j) ,end="")
# print(f"{i}*{j}={i*j} ",end="")
j+=1
print()
i+=1
while 练习4:靠左直角三角形
i=1
while i<=5:
j=1
while j<=i:
print("*",end="")
j+=1
print()
i+=1
for
for 临时变量 in 容器
a=[1,2,3,4,"张三"]
for i in a:
print(i,end=" ") #容器迭代
else:
print("666")
range
range(start, stop ,step)
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
>>>range(10) # 从 0 开始到 9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11) # 从 1 开始到 10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5) # 步长为 5
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3) # 步长为 3
[0, 3, 6, 9]
>>> range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)
[]
>>> range(1, 0)
[]
控制语句 | 描述 |
---|---|
break语句 | 在语句块执行过程中终止循环,并且跳出整个循环 |
bcontinue语句 | 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。 |
pass语句 | pass是空语句,是为了保持程序结构的完整性。 |
break
for letter in 'Python':
if letter == 'h':
break
print ('当前字母 :', letter)
var = 10
while var > 0:
print ('当前变量值 :', var)
var = var -1
if var == 5: # 当变量 var 等于 5 时退出循环
break
continue
i=0
while i<11:
i=i+1
if i==4:
continue
print(i,end=" ")
金字塔
i=int(input("enter the num="))
for r in range(1,i+1):
j=i-r
for c in range(1,j+1):
print(" " ,end="")
for k in range(1,2*r):
print("*" ,end="")
print()