day 4

2018-07-19  本文已影响0人  02b2972e6a93

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)

上一篇下一篇

猜你喜欢

热点阅读