python基础小白题5

题目045:统计 1 到 100 之和。

'''

def tm045():

    '''

    【个人备注】:简单,但官网有人写的更简单

    '''

    s = 0

    for i in range(1,101):

        s+=i

    print(s)

    # 更简洁的方法

    print(sum(range(1,101)))

'''

题目046:求输入数字的平方,如果平方运算后小于 50 则退出。

'''

def tm046():

    '''

    【个人备注】:简单

    '''

    while 1:

        x= input('输入数字得到平方值:')

        print(x*x)

        if x*x<50:

            break

'''

题目047:两个变量值互换。

'''

def tm047():

    '''

    【个人备注】:很简单

    '''

    a,b=1,2

    a,b=b,a

    print(a,b)

'''

题目048:数字比较。

'''

def tm048():

    '''

    【个人备注】:看了一眼官网答案,简单到懒得写。以下官网答案。

    '''

    i = 10

    j = 20

    if i > j:

        print('%d 大于 %d' % (i,j))

    elif i == j:

        print('%d 等于 %d' % (i,j))

    elif i < j:

        print('%d 小于 %d' % (i,j))

    else:

        print('未知')

'''

题目049:使用lambda来创建匿名函数。

'''

def tm049():

    '''

    【个人备注】:用的不多又忘了,看了一下网上的教程,整理了一下。

    '''

    #lambda函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子:

    def f(x):

        return x**2

    print(f(4))

    #Python中使用lambda的话,写成这样

    g = lambda x:x**2

    print(g(4))

    #lambda存在意义就是对简单函数的简洁表示。

    #lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。

    #常搭配内置函数map、filter、reduce,都是应用于序列的内置函数。常见的序列包括list、tuple、str。

    #map(func, *iterables) --> map object

    #filter(function or None, iterable) --> filter object

    #reduce(function, sequence[, initial]) -> value

    foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]

    print(list(map(lambda x: x * 2 + 10, foo)))       # 映射 [14, 46, 28, 54, 44, 58, 26, 34, 64]

    print(list(filter(lambda x: x % 3 == 0, foo)))    # 过滤 [18, 9, 24, 12, 27]

    from functools import reduce                      # 在Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里

    print(reduce(lambda x, y: x + y, foo))            # 累积 139 

'''

题目050:输出一个随机数。

'''

def tm050():

    '''

    【个人备注】:之前学习随机的时候整理的东西,用到时候来找就行了

    '''

    import random

    # 随机数操作

    random.random()             # 0.85415370477785668   # 随机一个[0,1)之间的浮点数

    random.uniform(0, 100)      # 18.7356606526         # 随机一个[0,100]之间的浮点数

    random.randrange(0, 100, 2) # 44                    # 随机一个[0,100)之间的偶数

    random.randint(0, 100)      # 22                    # 随机一个[0,100]之间的整数

    # 随机字符操作

    seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+=-" # 任意字符串(作为随机字符种子库)

    random.choice(seed)             # 'd'               # 随机一个字符

    random.sample(seed, 3)          # ['a', 'd', 'b']   # 随机多个字符(字符可重复)

    ''.join(random.sample(seed,3))  # '^f^'             # 随机指定长度字符串(字符可重复)

    # 随机列表操作

    random.shuffle(list)                                # 列表中的元素打乱

'''

题目051~053、055:

学习使用按位与 &

学习使用按位或 |

学习使用按位异或 ^

学习使用按位取反 ~

'''

def tm051(): # tm052 # tm053 # tm055

    '''

    【个人备注】:大概看了一下资料,按位操作可以通过bin()函数转换为二进制从而实现。

    感觉二进制的计算如果不是学加密之类的基本用不上。

    所以这一题,大概写了集合的用法,&、|在python中是集合set()才用的符号

    两个列表求交集并集,通常也都是转换为集合,然后进行计算的。

    '''

    # 可迭代变量转换为集合形式

    x = set('runoob')

    y = set('google')

    print(x, y)          # 重复的被删除 {'n', 'o', 'b', 'u', 'r'} {'o', 'g', 'e', 'l'}

    # 集合的交集、并集、差集

    print(x & y)         # 交集 {'o'}

    print(x | y)         # 并集 {'e', 'o', 'g', 'l', 'u', 'n', 'b', 'r'}

    print(x - y)         # 差集 {'n', 'b', 'u', 'r'}

    # 当然也可以写成函数形式,不过确实没有上面符号好记。

    print(x.intersection(y))

    print(x.union(y))

    print(x.difference(y))

'''

题目054:取一个整数a从右端开始的4-7位。

'''

def tm054():

    '''

    【个人备注】:官网答案不对

    '''

    a = 123456789

    b = str(a)

    print(b[-7:-3])  # 写的时候注意一下python切片是[-7:-4)左闭右开的,不包含[-4]的,所以要写成-3才能取到
 

猜你喜欢

转载自blog.csdn.net/hebtu666/article/details/81749650