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才能取到
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/445639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快排-荷兰国旗

在使用partition-exchange排序算法时&#xff0c;如快速排序算法&#xff0c;我们会遇到一些问题&#xff0c;比如重复元素太多&#xff0c;降低了效率&#xff0c;在每次递归中&#xff0c;左边部分是空的(没有元素比关键元素小)&#xff0c;而右边部分只能一个一个递减移动。…

快排-前m大元素

描述 给定一个数组包含n个元素&#xff0c;统计前m大的数并且把这m个数从大到小输 出。 输入 第一行包含一个整数n&#xff0c;表示数组的大小。n < 100000。 第二行包含n个整数&#xff0c;表示数组的元素&#xff0c;整数之间以一个空格分开 。每个整数的绝对值不超过…

归并-求逆序数

考虑1,2,…,n (n < 100000)的排列i1&#xff0c;i2&#xff0c;…&#xff0c;in&#xff0c;如果其中存在j,k&#xff0c;满足 j < k 且 ij > ik&#xff0c; 那么就称(ij,ik)是这个排列的一个逆序。 一个排列含有逆序的个数称为这个排列的逆序数。例如排列 26345…

动态规划概述

注&#xff1a;第一次看不需要全理解&#xff0c;以后动态规划做多了&#xff0c;再回来看看&#xff0c;会有更深的理解 先符上其它文章&#xff0c;看完这篇就可以开始看这些咯。 萌新&#xff1a; …

动态规划-背包是否装满

很简单但是需要特别注意的&#xff0c;一定不要错。 背包&#xff1a; 有n 种不同的物品&#xff0c;每个物品有两个属性&#xff0c;v体积&#xff0c;c价值&#xff0c;现在给一个体积为 m 的背包&#xff0c;问最多可带走多少价值的物品。 状态转移方程 dp[i][j]max…

dp打开思路3:HDU1069 POJ3616 POJ1088

HDU 1069 题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1069 题意&#xff1a;把给定的长方体&#xff08;不限&#xff09;叠加在一起&#xff0c;叠加的条件是&#xff0c;上面一个长方体的长和宽都比下面长方体的长 和宽短&#xff1b;求这些长方体能…

输入输出外挂

板子不解释 //适用于正负整数 template <class T> inline bool scan_d(T &ret) {char c; int sgn;if(cgetchar(),cEOF) return 0; //EOFwhile(c!−&&(c<0||c>9)) cgetchar();sgn(c−)?−1:1;ret(c−)?0:(c−0);while(cgetchar(),c>0&&c&…

dp打开思路4:POJ1189 UVA12511 HDU2845 HBCPC K

POJ1189 http://poj.org/problem?id1189 怎么说呢&#xff0c;不算难&#xff0c;但是容易出问题 我一开始的思路是&#xff0c;第一个钉子只有一种情况&#xff0c;然后下面每个钉子&#xff1a;左边有钉子就加左边的情况数&#xff0c;右边有钉子就加右边的情况数&#x…

第五次课 课上代码

第五次 双重循环——排序&#xff08;复习&#xff09; While循环 Break continue 字符串&#xff08;len&#xff0c;取值改值&#xff0c;格式化&#xff09; 列表生成式 >>> for i in range(4): for j in range(4): print(i,j) 0 0 0 1 0 2 0 3 1…

第六次课 课上代码

oj的使用 Python Split 函数&#xff08;优点&#xff1a;抽象、简洁。 举例&#xff1a;str\int\float\abs 具体实现&#xff09; ninput().split(" ") 3 4 >>> print(int(n[0])int(n[1])) 7 >>> print(12345) 15 l[1,2,3,4,5] >>&g…

橙白oj18训练作业1-题解、代码

学习资料和oj如何使用加软件官方qq群739979255 oj网址&#xff1a;http://oj.acm-icpc.top/ a题&#xff1a;原题为输入两个数&#xff0c;一行&#xff0c;用空格隔开&#xff0c;因为python操作对萌新来说略难&#xff0c;改为一行一个数&#xff0c;算出ab。 思路&#x…

橙白oj18训练作业2-题解、代码

http://oj.acm-icpc.top/ a题&#xff1a;三个数字排序 可以利用sort函数排序&#xff0c;或者自己想清楚逻辑自己写&#xff0c;我给出一个正确逻辑 &#xff08;拓展冒泡和其他排序参考https://blog.csdn.net/hebtu666/article/details/81434236&#xff09; a,b,cinput(…

时间空间复杂度概述

找个时间写一写时间复杂度和一些问题分类&#xff0c;也普及一下这方面知识。 如何衡量一个算法好坏 很显然&#xff0c;最重要的两个指标&#xff1a;需要多久可以解决问题、解决问题耗费了多少资源 那我们首先说第一个问题&#xff0c;要多长时间来解决某个问题。那我们可…

二叉树遍历算法总结

文章目录前提要素深度优先搜索DFS经典遍历算法前序遍历递归版迭代版中序遍历递归版迭代版后序遍历递归版迭代版Morris遍历算法中序遍历前序遍历后序遍历广度优先搜索BFS按层遍历参考资料前提要素 本文代码用Java实现。 //二叉树节点结构 public static class TreeNode {publi…

时间复杂度 P/NP/NPC

你会经常看到网上出现“这怎么做&#xff0c;这不是NP问题吗”、“这个只有搜了&#xff0c;这已经被证明是NP问题了”之类的话。你要知道&#xff0c;大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问…

kmp1-HDU1711 HDU1686 HDU2087 HDU3746

HDU 1711 kmp模板题 http://acm.hdu.edu.cn/showproblem.php?pid1711 #include<stdio.h> #include<string.h> #define N 1000005 int s[N]; int p[N]; int next[N]; int m,n; void getnext(){int j0,k-1;next[0]-1;while(j<m){if(k-1||p[j]p[k]){j;k;next[j]…

kmp2-HDU1358 HUST1010 POJ2406 POJ2752

HDU1358 http://acm.hdu.edu.cn/showproblem.php?pid1358 先构造出 next[] 数组&#xff0c;下标为 i&#xff0c;定义一个变量 j i - next[i] 就是next数组下标和下标对应值的差&#xff0c;如果这个差能整除下标 i&#xff0c;即 i%j0 ,则说明下标i之前的字符串&#xff0…

18暑期培训总结

暑假一共直播讲了七次课&#xff0c;每次一小时到一个半小时&#xff0c;前六次讲解python主要实用语法&#xff0c;最后一次讲了学习方法和简单基础的思想和算法。由于时间有限&#xff0c;不能做到很好&#xff0c;请见谅。 学院做题网站&#xff1a;橙白oj http://oj.acm-i…

第七次课 课上代码

时间空间复杂度&#xff08;例子&#xff1a;1-n求和&#xff09; 复杂度&#xff1a;https://blog.csdn.net/hebtu666/article/details/82463970 https://blog.csdn.net/hebtu666/article/details/82465495 二分 一个数组查找某个值1 2 3 5 6 7 8 9 10 15 20。。 查找11 …