python学习No2
python的基本语句
分支语句(条件判断)
- if
- if…else
- if…elif…elif…else
(与c语言等不一样的是,python不支持switch…case条件语句)
if语句的使用
#if 条件:
# 条件成立,执行代码
age=int(input('请输入你的年龄'))
if age>18:
print('你可以玩游戏')
#输入年份,判断是否为闰年(能被4整除但是不能被100整除或者能被400整除的年)
year=int(input('请输入一个年份'))
if(year % 4==0 and year %100!=0) or (year %400==0)
print(year,'是闰年')
if…else语句使用
#if 判断条件:
# 条件成立执行代码
#else:
# 不成立时执行的代码
age=int(input('请输入你的年龄'))
if age>18:
print('你可以玩游戏')
else:
print('你不能玩游戏')
if…elif…elif语句使用
#if...elif..elif..可以用很多if语句代替,但是执行繁琐(调试查看)
score=float(input('请输入成绩:'))
if 60>score>=0:
print('要好好学习')
elif 80>score>=60:
print('一般般')
elif 100>score>=80:
print('非常好')
else:
print('成绩错误')
拓展pass关键字的使用
pass无实际意义,只是单纯占位,保证语句完整性
if age>18:
pass #有时候我们没想好if中执行的代码,用pass代替
print('你好')#如果没有pass,会因为后面的print报错
if中的注意点
1.隐式类型转换
if 100:
print('hello')
结果输出hello,if后面需要的是一个bool类型的值,如果后面不是布尔类型,会自动转换
2.三元表达式(对if… else语句的简写)
a=3
b=4
if a>b:
x=a
else:
x=b
#等价于下面代码
x=a if a>b else b
循环语句(重复代码)
- while
- for
while的使用
#while 判断条件:
# 条件成立执行的代码
while 3>2:
print('hello ')#就是废电脑哈哈哈哈
x=0
while x<10
print('hello')
x+=1#python 中不能用自增x++
for…in 循环的使用
python 中的for循环就是for…in循环
#for语句格式:for 变量名字 in 可迭代对象:
#可接触的可迭代对象:字符串、列表、字典、元组、集合、range
for i in [1,2,3,4,5,6,7,8,9,10]:
print(i)
#也可以使用内置函数range用来生成指定区间的整数序列
for i in range(0,10):
print(i)
for i in 'hello':
print(i)
循环语句中的break和continue
break:用来结束整个循环
continue:用来结束本轮循环,开启下一轮循环
i=0
while i<5:
if i==3:
i+=1
continue#只会打印0124,3时会跳到while。如果是break,就直接结束循环了
print(i)
i+=1
嵌套循环
不嵌套循环打印5个*
i=0
while i<5
i+=1
print('*'*i)
嵌套循环打印5排*****
j = 0#外循环控制行数
while j< 5:
j = j+1
i = 0#内循环控制个数
while i < 5:
i = i+1
print("*", end=' ')
print()
嵌套打印三角形
j = 0
while j< 5:
j = j+1
i = 0
while i < j:
i = i+1
print("*", end=' ')
print()
打印9*9乘法表
j = 0
while j< 9:
j = j+1
i = 0
while i < j:
i = i+1
print(j,'*',i,'=',i*j, end=' ')#如果要更对齐一点可以用end="\t"
print()
#或者用for...in
for i in range(1,10):
for j in range(1,i+1):
print(j , "*" , i , "=" , i*j,end='\t')
print()
输入任意正整数,求它是几位数
num=int(input('请输入一个整数:'))
count = 0
while True :
count+=1
num//=10
if num==0:
break
print('您输入的数字是', count ,'位数')
求素数(for…else的使用)
for i in range(101,201):
for j in range(2,i):
if i%j==0:
break
else:#for...else 语句:当在循环里的break没有被执行时,就会执行else
print(i,'质数')
求斐波那契数列
a = 1
b = 1
n=int(input('输入你要求第几个斐波那契数列:'))
for i in range(0, n-2):
c = a
a = b
b = c + b
print(b)