part 1 作业
1
numbers = 1 #声明变量
for i in range (0,20): #依次生成 0-19
numbers *= 2 #numbers = numbers * 2
print(numbers) #输出numbers的值
计算1*2*2*2*3*2*4*2......*19*2
2
summation=0 #声明变量
num=1 #声明变量
while num<=100: #依次生成0-100的整数
if (num%3==0 or num%7==0) and num%21!=0:#如果满足如果能被3或者7整除 且可以被21整除的数
summation += 1 #summation = summation + 1
num+=1 #num = num +1
print(summation) #打印summation
计算100以内能被3整除或者7整除且能被21整除的数
3
求和 :求1到100之间所有数的和、平均值
方法1
a = 1
b = 0
for a in range(1,101):
b = a + b
a = a + 1
print(b)
#结果:5050
方法2
a = 1
b = 0
while a <= 100:
b = a + b
a = a + 1
print(b)
#结果:5050
求平均值
方法1
a = 1
b = 0
c = []
for a in range(1,101):
b = a + b
a = a + 1
for x in range(1,101):
c.append(x)
print(b / len(c))
方法2
a = 1
b = 0
while a <= 100:
b = a + b
a = a + 1
c = a - 1
print(b/c)
4 计算1-100之间能3整除的数的和
sum1 = 0
for a in range(1,101):
if a % 3 == 0:
sum1 += a
print(sum1)
结果:1683
a = 0
b = 1
while b <= 100:
if b % 3 == 0:
a = b + a
b = b + 1
print(a)
结果:1683
5 计算1-100之间不能被7整除的数的和
a = 0
b = 1
while b <= 100:
if b % 7 == 0:
a = b + a
b = b + 1
print(a)
结果:735
sum1 = 0
for a in range(1,101):
if a % 7 == 0:
sum1 += a
print(sum1)
结果:735
6 if语句
.
1 if 条件语句:
代码块
其他语句
执行过程:先判断条件语句是否为True,如果是就执行代码块1,执行完代码块再执行其他语句。
条件为False则直接执行其他语句。
2.if---else
if条件语句:
代码块1
else:
代码块2
其他语句
执行过程:先判断条件语句是否为True,如是则执行代码块1.如果为False则执行代码块2,执行完代码块2再执行其他语句
3.if-elif-elif-else
if 条件语句1:
代码块1
elif条件语句2:
代码块2
elif条件语句3:
代码块3
else:
代码块4
其他语句:
执行过程:先判断条件语句是否为True,如是则执行代码块1.执行完1再执行其他语句。
如果为False,则判断条件语句2是否为true,同上。
score = 150
if 100 >= score >= 90:
print('优秀')
elif 89 >= score >=70:
print('良好')
elif 69 >= score >=60:
print('及格')
elif 60 > score >=0:
print('不及格')
else:
print('别乱按,骚年')
7.
数据类型转换:类型名(被转换的数据)
int str bool float
1.其他的数据类型转换成整数型
浮点型:只保留整数部分
布尔型:0或1
字符串:去掉字符串引号后本身还是整数的可以转换
print(int(12.5))
print(int(True))
print(int('12'))
2.其他数据类型转换成浮点型:float
整型:在整数后面加'.0'
布尔型:0或1
字符串:去掉字符串的引号后还是整数或者浮点型数据的字符串,才能转换。
print(float(12.0))
print(float(True))
print(float('100.23'))
3.其他数据类型转换成布尔类型:bool
不管什么类型的数据都可以转换成布尔值。
整数中除了0其他都是True.
所有空的或者为0都会转换成False,其他的值都是TRUE
if 12:
print('====')
#判断一个字符串是否是空串
#方法1:
str1 = ''
if str1 == '':
print('空串')
else:
print('不是空串')
方法2
if len(str1) == 0:
print('空串')
#方法1
number = 0
if number == 0:
print('是')
else:
print('不是')
#方法2
if number:
print('不是')
else:
print('')
#方法3
if bool(number) == 0:
print('是')
print(bool(0))
4.不管什庅类型的数据都可以转换成字符串
直接在数据两边加引号
print(str(120))
5.if语句可以嵌套
if 条件语句1
if 条件语句2
执行语句块1
else:
执行语句块2
else:
执行语句块3
练习:给一个数字,如果是偶数就打印xxx是偶数,并且能被4正除,就打印xx是4的倍数,否则打印xxx是奇数。
number = 16
if number % 2 == 0:
print('%d是偶数' % (number))
if number % 4 ==0:
print('%d是4的倍数' % (number))
if number%2:
print('奇数')
if not (number%4):
print('是4的倍数')
判断数据类型
isinstance(值,类型名)---> 判断指定值是否是指定的类型,如果结果为true,否则结果是false
print(isinstance(10,int))#判断10是否是Int类型
print(isinstance(12.0,int))
8.for循环
重复执行某些过程,可以使用循环。
Python中的循环有for和while
"""
for 变量名 in 序列:
循环体
for:关键字
变量名:和声明变量时的要求是一样的,功能:也是去存储值
in :关键字
序列:必须是容器类型的数据 列表 字典 字符串 元组 集合 等等
循环体:需要重复执行的代码块
执行的过程:使用变量去序列中取数据,一个一个的取,直到取完为止。每取一次执行一次循环体。
for a in 'abcd1213':
print(a)
打印 20次 abc
print('abc'*20)
range 是Python 2.x中的。
range功能是产生直到范围的序列,一般用在for循环中,控制产生循环次数,或者产生索引值。
range(n):产生0~n-1的整数序列
range(10):产生0.1.2.3.4.5.6.7.8.9
for x in range(10):
print(x)
range(n,m):产生n到m-1整数序列
for b in range(10,20):
print(b)
range(n,m,step):产生从n开始,每次加step产生下一个数字,直到M-1为止
for c in range(10,99,5):
print(c)
练习 :计算1+2+3....+100
sum1 = 0
for x in range(1,101):
sum1 += x
sum1 = 0
x在(1-100)
x=1 sum1 += 1 =0 + 1
x=2 sum1 += 2 =1 + 2
x=3 sum1 += 3 =1 + 2 + 3
x = 100 sum1 += 100 =1+2+3+...+99+100
练习:计算123*。。。10
再计算246*。。。10
i = 1
for a in range(1,11):
i *= a
print(i)
j = 1
for b in range(2,11,2):
j *= b
print(j)
i = 1
j = 1
for a in range(1,11):
i = i * a
if j %2 == 0:
j *= a
print(i,j)
#1
a = 'abcdef'
for b in range(0,len(a),2):
print(a[b])
#2.
for b in range(0,len(a)):
if b % 2 ==0:
print(a[b])
#3.
index = 0
for char in index:
if index % 2 == 0:
print(char)
index += 1
9.while循环
格式while循环
"""
while 条件语句:
循环体
while :关键字
条件语句:结果是true或者false
循环体:重复执行的代码段
执行过程:判断条件是否为true,如果为true就执行循环体,执行完循环体,再判断条件语句是否为true如果为true就在执行循环体直到条件语句的值为false,循环结束没,直接执行while循环后面的语句
注意:如果条件语句的结果一直都true,就会造成死循环。所以子啊循环体重要有让循环结束的操作
"""
flag = True
while flag:
print('aaa')
flag = False
使用while循环计算1+2+3...加到100
number = 1 #保存数字
sum1 = 0 #保存和
while number <=100:
print(number)
sum1 += number
#每次循环让number值加1
10. continue和break
'''
break和continue两个关键字,都是作用于循环中,用来结束循环。
continue:关键字,在循环体中,结束当次循环,直接进入下次循环的判断
(如果是for循环,就让变量去取下一个值,如果是while循环,就去判断循环中的条件语句是否为True)
'''
for x in range(10):
print(x)
continue #不执行continue后面的语句,直接让X取下一个值
print('====')
"""
break:关键字,在循环中遇到break,就直接结束循环。直接执行循环后面的其他语句。
使用break结束死循环
"""
for x in range(10):
print(x)
break
print('=====')
print('!!!')
通过break来结束
找出100-1000以内第一个能被3整除同时能够被17整除的数
for a in range(100,1001):
if a % 3 == 0 and a % 17 ==0:
print(a)
break
b =
while 100<= b <=1000:
print(b)
11.for和while循环的选择
1.for和while的选择
"""
for 循环次数是固定的确定的
while 循环的次数不确定
循环次数不确定的时候 选择 while循环
确定一般使用for循环
通过循环遍历一个序列中值,使用for循环
input()
接受从控制台输入的数据(输入以回车结束)
程序中需要input()函数,程序会阻塞,等待用户输入完成才会接着执行后面的代码。
"""
value = input()
使用value保存从控制台输入的数据
print('====')
产生随机数
Python中有一个内置模块,可以产生随机数:random
导入random模块
randint(m,n):产生一个m到n的随机数(整数)
import random
number = random.randint(100,200)#产生100到200的随机数
print(number)
网友评论