总结
number
python中字对应的类型有4种:int、float、bool、complex(复数)
注意:浮点数有时候表示的时候不准确结果是约等于的值,这是计算机本身存在存储浮点数的问题
1.65 -> 1.6499999999999 1.65 -> 1.650000000001
bool 类型是一种特殊的整型,True本质是1、Flase本质就是0
1、complex(复数)
由实部和虚部组成的数就是复数
结构: a + bj (j是虚数单位,j**2是-1;a是实部,b是虚部)
a = 2 + 3j b = 3 + 1j # 注意:虚部的1不能省略 print(type(a)) # class 'complex'
python的复数直接支持复数运算
print(a + b) # (5+4j) print(a * b) # (3+11j)
2、数学模块
import math # math - 普通数据的数学模块
math.ceil(数据) - 将浮点数转换成整数 (向大取整)
print(math.ceil(1.23)) # 2 print(math.ceil(5.001)) # 6
math.floor(数字) - 将浮点数转换成整数(向小取整)
print(math.floor(7.89)) # 7
若需要将浮点数四舍五入转换可使用round(数字)
注意: x.5的时候,x是偶数就舍,是奇数就入
print(round(7.85)) # 8 print(round(2.5)) # 2
math.fabs(数据) - 获取指定数的绝对值
print(math.fabs(-100)) # 100.0
math.factorial(数) - 求指定数的阶乘
# n! = 1*2*3*...*n print(math.factorial(5)) #120
cmath # math - 复数数据的数学模块
第一周作业
一、选择题
-
下列变量名中不合法的是?(C)
A. abc
B. Npc
C. 1name
D ab_cd
-
下列选项中不属于关键字的是?(B)
A. and
B. print
C. True
D. in
-
下面哪个选项对应的代码写法是正确的?(C)
A.
print('Python') print('新手村')
B.
print('Python') print('新手村')
C.
print('Python') print('新手村')
D.
print('Python''新手村')
-
下面选项中能打印出50的是?(B)
A.
print('100 - 50')
B.
print(100 - 50)
-
关于引号,下面选项中使用正确的是?(D)
A.
print('hello)
B.
print("hello')
C.
print(“hello”)
D.
print("hello")
二、编程题
-
写代码在控制台打印 `good good study, day day up!
print('good good study,day day up!')
-
写代码在控制台打印5次
you see see, one day day!
for x in range(5): print('you see see, one day day!')
-
写代码打印数字 11、12、13、… 21
for x in range(11, 22): print(x)
-
写代码打印数字 11,13,15,17,…99
for x in range(11, 100): if x % 2: print(x)
-
写代码打印数字:10、9、8、7、6、5
for x in range(5, 11): print(x)
-
写代码计算:1+2+3+4+…+20 的和
s = 0 for x in range(1, 21): s += x print('1+2+3+4+...+20 的和:', s)
-
写代码计算100以内所有偶数的和
s = 0 for x in range(0, 100): if x % 2 == 0: s += x x += 1 print('100以内所有偶数的和:', s)
-
写代码统计100~200中个位数是3的数的个数
count = 100 for x in range(103, 200, 10): count += 1 print('个数:',x )
-
写代码计算
2*3*4*5*...*9
的结果sum = 2 for x in range(2, 10): s *= x print(s)
-
输入一个数,如果输入的数是偶数就打印
偶数
否则打印奇数
num = int(input('请输入数字:')) if num % 2 == 0: print('偶数') else: print('奇数')
-
统计1000以内能被3整除但是不能被5整除的数的个数。
count = 0
for x in range(0, 1000):
if x % 3 == 0 and (x % 5):
count +=1
print('个数:', count)
周末作业 - 循环练习题
-
判断101-200之间有多少个素数,并输出所有素数。
for x in range(101, 201): for y in range(101, x): if x % y == 0: break else: print(x)
-
求整数1~100的累加值,但要求跳过所有个位为3的数。
s = 0 for x in range(1, 101): if x % 10 != 3: s += x else: print('和:', s)
-
有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的第20个分数
p1 = 1 p2 = 2 for i in range (0,20): p1, p2 = p2, p1+p2 print('第20个分数为:', p2/p1)
-
写程序计算 n 的阶乘 n! 的结果
n = int(input('请输入:')) s = 1 for x in range(1, n+1): s *= x print(s)
-
求1+2!+3!+…+20!的和
s = 1 sum = 0 for x in range(1, 21): for i in range(1, x+1): s *= i sum += s s = 1 print(sum)
-
写程序求表达式 a + aa + aaa + aaaa+ … 的结果,其中a是1~9的数字,求和的项数用n来控制。(a和n可以用变量来表示)
例如:a为3, n为5的时候: 3 + 33 + 333 + 3333 + 33333
-
控制台输出三角形
a.根据n的值的不同,输出相应的形状 n = 5时 n = 4 ***** **** **** *** *** ** ** * * b.根据n的值的不同,输出相应的形状(n为奇数) n = 5 n = 7 * * *** *** ***** ***** ******* c. 根据n的值的不同,输出相应的形状 n = 4 1 121 12321 1234321 n = 5 1 121 12321 1234321 123454321
a : n = int(input('请输出数字:')) for x in range(n): for y in range(0, n-x): print("*", end=" ") print('*')
-
小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元正好花掉,可有哪些购买结合?
for shampoo in range(1, 100//15+1): for soap in range(1, 100//2+1): for toothbrush in range(1, 100//5+1): if shampoo*15 + soap*2 + toothbrush*5 == 100: print('洗发水:', shampoo, '香皂:', soap, '牙刷:', toothbrush)