Python全栈学习第四天

1. if

“”"
结构:
if 条件语句:
满足条件要执行的代码段

“”"
age = 10
if age >= 18:
print(‘成年’)
print(’=====’)

2.if - else

“”"
结构:
if 条件语句:
代码段1
else:
代码段2

执行过程:先判断条件语句的结果是否是True, 如果是True就执行代码段1。
如果是False就执行代码段2
“”"
#要求成绩大于等于60打印及格,否则打印不及格
score = 85
if score >= 60:
print(‘及格’)
else:
print(‘不及格’)
print(’====’)

3.if - elif -else

“”"
结构:
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3

else:
代码段4

执行过程: 先判断条件语句1是否成立,成立就执行代码段1;不成立才去判断条件语句2是否成立,成立就执行代码段2;
不成立就去判断条件语句3是否成立… 当前面所有的条件语句都不成立,才执行else后边的代码段4

注意:elif可以根据情况有一个或者多个;最后的else可以省略
“”"
#如果年龄在18岁以下打印未成年,18岁到28岁打印青年,28到50最打印中年,50岁以上打印老年
age = 26

if 0 < age < 18:
print(‘未成年’)
elif age <= 28:
print(‘青年’)
elif age <= 50:
print(‘中年’)
elif age > 50:
print(‘老年’)
else:
print(‘年龄不正确!’)

if 0 <= age < 18:
print(‘未成年’)
elif 18 <= age <= 28:
print(‘青年’)
elif 28 < age <= 50:
print(‘中年’)
else:
print(‘老年’)

4.if嵌套

#判断一个数是否是偶数,如果是就打印偶数,否则打印奇数。如果是偶数再看这个数是否能被5整除
number = 82
if number & 1 == 0:
print(‘偶数’)
if number % 5 == 0:
print(‘这个偶数可以被5整除’)
else:
print(‘这个偶数不能被5整除’)
else:
print(‘奇数’)

“”"
python中循环结构有两个: for和while循环

for循环:
1.for循环语法:
结构:
for 变量 in 序列:
循环体

说明:
for -> 关键字
变量 -> 和变量名的要求
in -> 关键字
序列 -> 只能是容器类型的数据,例如:字符串、列表、字典、集合、元祖、迭代器、range等…
循环体 -> 需要重复执行的代码段

执行过程:让变量去序列中取值,一个一个的取,取完为止。每取一个值执行一次循环体。
(循环次数由序列中值的个数决定)
“”"

“”"
序列中的值:H e l l o
x = H print(x)
x = e print(x)
x = l print(x)
x = l print(x)
x = o print(x)
“”"
for x in ‘Hello’:
print(x)

print(’======’)

“”"
2.range函数
range(n) -> 产生0到n-1的所有的所有整数(范围), 要求n要大于0
0 1 2 3 4

range(m,n) -> 产生m到n-1的所有的整数, 要求n大于m
1 2 3 4 5 6 7

range(m, n, step) -> 从m开始,每次加setp产生下一个整数,知道n前面一个值为值
step = 2, m = 1, n = 11
1 3 5 7 9
“”"
#练习: 1+2+3+…+100
#保存最后的和

“”"
sum1 = 0
序列:1 ~ 4
x = 1 sum1 = 0 + x = 0+1
x = 2 sum1 = sum1 + x = 1+2
x = 3 sum1 = sum1 + x = 1+2+3
x = 4 sum1 = sum1 + x = 1+2+3+4

“”"
sum1 = 0
for x in range(1, 101):
# print(x)
sum1 += x # sum1 = sum1 + x

print(sum1)

“”"
如果for循环用来取值的变量,如果在循环体中不需要,这个变量命令的时候要求使用_来给变量命名
“”"
#打印10行 ‘
for _ in range(10):
print('
*’)

“”"
1.语法
结构:
while 条件语句:
循环体

说明:
while - 关键字
条件语句 - 除了赋值语句以外其他的表达式都可以(一般要求是一个结果是布尔的表达式)
循环体 - 重复执行的代码段

执行过程:先判断条件语句的结果是否为True,为True就执行一次循环体,执行完循环体再回头判断条件语句是否为True,
为True又执行循环体,以此类推,直到条件语句的结果为False,循环就结束

for循环永远不会产生死循环,while循环可以产生死循环

while True —> 死循环
“”"
#1+2+3+…+100

sum1 = 0
number = 1
while number <= 100:
# print(number)
sum1 += number
number += 1

print(sum1)

总结:for循环和while循环的选择

“”"
如果是遍历序列中的元素,使用for循环; 如果循环次数确定,也使用for循环;
死循环用while循环;如果循环次数不确定,使用while循环
“”"
#‘abc1234’
#[1, 23,56, 68, 90]
#{‘a’: 12, ‘b’: 100}

#要求:从控制台不断的输入数字,直到输入的数是0为止
#10 20 30 33 0
#10 0
#9 8 7 6 99 87 45 67 8 0

number = int(input(‘请输入一个数:’))
while number != 0:
number = int(input(‘请输入一个数:’))

print(‘结束’)

课后习题

读程序,总结程序的功能

numbers = 1
for i in range(0,20):
numbers = 2
print(numbers)
#程序功能:计算1
2222222222222222222*2的值
#即2的20次方

summation=0
num=1
while num<=100:
if (num%30 or num%70) and num%21!=0:
summation += 1
num+=1
print(summation)
##程序功能,在1~100范围内统计能被3或者7整除,且能不能被21整除的数

一、求1到100之间所有数的和、平均值

sum = 0
average = 0
for x in range(1,101):
sum += x
pass
average = sum / 100
print(“1-100之间所有数的和是:”,sum,“平均值是:”,average)

sum = 0
avergae = 0
x = 1
while x <= 100 :
sum += x
x += 1
pass
average = sum / 100
print(“1-100之间所有数的和是:”,sum,“平均值是:”,average)

二、计算1-100之间能3整除的数的和

sum = 0
for x in range(1,101):
if x % 3 ==0:
sum += x
pass
pass
print(“1-100之间能3整除的数的和为:”,sum)

sum = 0
x = 3
while x<=100:
sum += x
x +=3
pass
print(“1-100之间能3整除的数的和为:”,sum)

三、计算1-100之间不不能被7整除的数的和

sum = 0
for x in range(1,101):
if x % 7 !=0:
sum +=x
pass
pass
print(“1-100之间不能被7整除的数的和是:”,sum)

sum = 0
x = 1
while x <= 100 :
if x % 7 != 0 :
sum += x
pass
x += 1
pass
print(“1-100之间不能被7整除的数的和是:”,sum)

1. 求斐波那契数列列中第n个数的值:1,1,2,3,5,8,13,21,34…

n = int(input(“请问你要求第几个斐波拉契数 :”))
x=0
for x in range(1,n+1):
if x1:
one=1
print(one,end=’ ')
pass
elif x
2:
two=1
print(two,end=’ ‘)
else :
three=one+two
two=one
one=three
print(three,end=’ ')
pass
pass
#print(three)

2.判断101-200之间有多少个素数,并输出所有素数。判断素数的⽅法:⽤一个数分别除2到sqrt(这个数),如果能被整除,则表明此数不不是素数,反之是素数

count = 0
x = 101
while x <= 200:
i = 2
while i < x0.5:
if x%i==0:
break
else:
i += 1
if i >= x
0.5:
count += 1
print(x,end=’ ')
x += 1
print("\n在101-200之间,共有",count,“个素数”)

3.打印出所有的⽔水仙花数,所谓⽔水仙花数是指⼀一个三位数,其各位数字⽴立⽅方和等于该数本身。例例如:153是⼀个⽔水仙花数,因为153 = 1^3 + 5^3 + 3^3

for x in range(100,1000):
gewei = x % 10
shiwei = x //10 %10
baiwei = x // 100
if gewei3+shiwei3+baiwei**3==x:
print(x,“是一个水仙花数”)

4.有⼀一分数序列列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列列的第20个分数 分子:上⼀一个分数的分⼦子加分⺟母 分⺟母: 上⼀个分数的分⼦子 fz = 2 fm = 1 fz+fm / fz

fz = 2
fm = 1
for _ in range(2,21):
temp = fz
fz = fz + fm
fm = temp
print(“第二十项是”,fz,"/",fm)

5. 给⼀个正整数,要求:1、求它是⼏位数 2.逆序打印出各位数字

N = int(input(“请输入一个正整数 : “))
count = 0
while N > 0:
print(N % 10,end=’ ')
N = N // 10
count += 1
pass
print(”\n输入的这个正整数共有”,count,“位”)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值