number

总结

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 - 复数数据的数学模块

第一周作业

一、选择题

  1. 下列变量名中不合法的是?(C)

    A. abc

    B. Npc

    C. 1name

    D ab_cd

  2. 下列选项中不属于关键字的是?(B)

    A. and

    B. print

    C. True

    D. in

  3. 下面哪个选项对应的代码写法是正确的?(C)

    A.

    print('Python')
      print('新手村')
    

    B.

    print('Python') print('新手村')
    

    C.

    print('Python')
    print('新手村')
    

    D.

    print('Python''新手村')
    
  4. 下面选项中能打印出50的是?(B)

    A.

    print('100 - 50')
    

    B.

    print(100 - 50)
    
  5. 关于引号,下面选项中使用正确的是?(D)

    A.

    print('hello)
    

    B.

    print("hello')
    

    C.

    print(“hello”)
    

    D.

    print("hello")
    

二、编程题

  1. 写代码在控制台打印 `good good study, day day up!

    print('good good study,day day up!')
    
  2. 写代码在控制台打印5次 you see see, one day day!

    for x in range(5):
        print('you see see, one day day!')
    
  3. 写代码打印数字 11、12、13、… 21

    for x in range(11, 22):
        print(x)
    
  4. 写代码打印数字 11,13,15,17,…99

    for x in range(11, 100):
        if x % 2:
            print(x)
    
  5. 写代码打印数字:10、9、8、7、6、5

    for x in range(5, 11):
        print(x)
    
  6. 写代码计算:1+2+3+4+…+20 的和

    s = 0
    for x in range(1, 21):
        s += x
    print('1+2+3+4+...+20 的和:', s)
    
  7. 写代码计算100以内所有偶数的和

    s = 0
    for x in range(0, 100):
        if x % 2 == 0:
            s += x
        x += 1
    print('100以内所有偶数的和:', s)
    
  8. 写代码统计100~200中个位数是3的数的个数

    count = 100
    for x in range(103, 200, 10):
        count += 1
    print('个数:',x )
    
  9. 写代码计算2*3*4*5*...*9的结果

    sum = 2
    for x in range(2, 10):
        s *= x
    print(s)
    
  10. 输入一个数,如果输入的数是偶数就打印偶数否则打印奇数

    num = int(input('请输入数字:'))
    if num % 2 == 0:
        print('偶数')
    else:
        print('奇数')
    
  11. 统计1000以内能被3整除但是不能被5整除的数的个数。

count = 0
for x in range(0, 1000):
    if x % 3 == 0 and (x % 5):
        count +=1
print('个数:', count)

周末作业 - 循环练习题

  1. 判断101-200之间有多少个素数,并输出所有素数。

    for x in range(101, 201):
        for y in range(101, x):
            if x % y == 0:
                break
        else:
            print(x)
    
  2. 求整数1~100的累加值,但要求跳过所有个位为3的数。

    s = 0
    for x in range(1, 101):
         if x % 10 != 3:
            s += x
    else:
        print('和:', s)
    
  3. 有⼀分数序列: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)
    
  4. 写程序计算 n 的阶乘 n! 的结果

    n = int(input('请输入:'))
    s = 1
    for x in range(1, n+1):
        s *= x
    print(s)
    
  5. 求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)
    
  6. 写程序求表达式 a + aa + aaa + aaaa+ … 的结果,其中a是1~9的数字,求和的项数用n来控制。(a和n可以用变量来表示)

    例如:a为3, n为5的时候: 3 + 33 + 333 + 3333 + 33333

  7. 控制台输出三角形

    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('*')
    
  8. 小明单位发了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)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值