Python基础+练习
python基础练习题30道
python基础练习题30道1、执⾏python脚本的两种⽅式答:1>可以在python /home/xxxx.py2>cd /home ./xxxx.py 因为py脚本⾥⾯指定了python解释器的位置2、简述位、字节的关系答:1Byte(字节)=8bit(⼆进制位)3、简述ascii、unicode、uft-8、gbk的关系答:ascii 英⽂编码,8个⼆进制位代表⼀个字母,总共可以有2的8次⽅减去1个等于255个gbk是中⽂编码,是⽤的16个⼆进制代表⼀个汉字,有点浪费空间uft-8也是中⽂编码,也是⽤的16个⼆进制代表⼀个汉字,但是能⽤8位表⽰就⽤位了4、请写出“李杰”分别⽤utf-8的gbk编码所占的位数6 45、python单⾏注释和多⾏注释分别⽤什么?答:单⾏注释⽤# 多⾏注释⽤""" """6、声明变量注意事项有哪些?答:变量 = "abc" 变量空格 = 空格双引号之间的字符就是变量,在调⽤的时候要⽤吧变量⽤括号括起来()变量,只能由字母、数字、下划线组成特例:不能以数字开头python的关键字也不能使⽤7、如有以下变量n1 = 5,请使⽤int提供的⽅法,得到该变量最少可以⽤多少个⼆进制位表⽰答:n1 = 5v = n1.bit_length()print (v)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.py38、布尔值分别有什么?答:True False9、阅读代码,请写出执⾏结果a = "gouguoqi"b = a.capitalize()print (a)print (b)结果是gouguoqiGouguoqi10、写代码,有如下变量,请按照要求实现每个功能a.移除name变量对应值的两边的空格,并输出移除后的内容name = " gouguoQ"v = name.strip()print (v)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.py gouguoQb.判断name变量对应的值是否以"go"开头,并输出结果name = " gouguoQ"v = name.startswith('go')print (v)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.py Falsec.判断name变量对应的值是否以"Q"结尾,并输出结果name = " gouguoQ"v = name.endswith('Q')print (v)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.py Trued.将name变量对应的值中的"o",替换为"p",并输出结果name = " gouguoQ"v = name.replace('g','p')print (v)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.py poupuoQe.将name变量对应的值根据"o"分割,并输出结果name = " gouguoQ"v = name.split('o')print (v)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.py [' g', 'ugu', 'Q']f.请问上⼀题分割之后得到的值是什么类型(可选)列表g.将name变量对应的值变⼤写,并输出结果name = " gouguoQ"v = name.upper()print (v)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.py GOUGUOQh.将name变量对应的值变成⼩写,并输出结果name = " gouguoQ"v = name.lower()print (v)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.py gouguoqi.请输出name变量对应的值的第⼆个字符?name = " gouguoQ"v = name[2]print (v)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.py oj.请输出name变量对应的值的前三个字符name = " gouguoQ"v = name[0:3]print (v)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.pygoh.请输出name变量对应值的后2个字符name = " gouguoQ"v = name[-2:]print (v)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.pyoQl.请输出name变量中的值"Q的索引的位置name = " gouguoQ"v = len(name)for n in range(v):if (name[n]) != "Q":continueelse:print (n,name[n])C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.py7 Qm.获取⼦序列,仅不包含最后⼀个字符,如:woaini则获取woain root则获取roo name = " gouguoQ"print (name[0:-1])C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.pygouguo21、字符串是否可以迭代对象?如果可以请使⽤for循环每⼀个元素?for n in"woaini":print (n)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.py woaini只要能被for循环,这个值就是可迭代对象#类,类型str各种⽅法......#对象,根据str类型创建⼀个对象,S1,在shell我们就叫变量S1 = "gouguoqi"22、请⽤代码实现a.利⽤下划线将列表的每⼀个元素拼接成字符串 li = "gouguoqi"li = "gouguoqi"v = "_".join(li)print (v)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.py g_o_u_g_u_o_q_ib.利⽤下划线将列表的每⼀个元素拼接成字符串 li = ['gou','guo','qi'] li = ['gou','guo','qi']v = "_".join(li)print (v)C:\python35\python3.exe D:/pyproject/day11数据类型的⽅法/str-way.py gou_guo_qi23、在python2和3中range有啥区别在python2.7⾥⾯,range可以直接帮我们打印出来范围内的数字,这个就有缺点了,⽐如我打印出来1万个数字,它得先把⼀万个数字打印出来,这个时候我们得等着了。
python基础测试题
python基础测试题一、选择题1、以下哪个是 Python 中的合法变量名?()A 123varB var 123C my_varD @var答案:C解析:在 Python 中,变量名只能包含字母、数字和下划线,且不能以数字开头。
选项 A 以数字开头,选项 B 中间有空格,选项 D 以特殊字符@开头,都不符合变量名的规则,只有选项 C 是合法的变量名。
2、以下代码的输出结果是什么?()```pythonx = 5y = 2print(x // y)```B 2C 3D 7答案:B解析:在Python 中,`//`是整除运算符,返回商的整数部分。
5 除以 2 的商为 25,取整数部分为 2,所以输出结果是 2。
3、以下哪个方法可以将字符串转换为整数?()A `str()`B `int()`C `float()`D `complex()`答案:B解析:`int()`函数用于将一个数字或字符串转换为整数。
`str()`函数将对象转换为字符串,`float()`函数将对象转换为浮点数,`complex()`函数用于创建复数。
4、以下哪个是 Python 中用于创建列表的符号?()A `{}`B `()`D `<>`答案:C解析:在 Python 中,使用方括号``来创建列表。
花括号`{}`用于创建字典,小括号`()`用于创建元组等。
5、以下代码的输出结果是什么?()```pythonmy_list = 1, 2, 3, 4, 5print(my_list1:4)```A `2, 3, 4`B `1, 2, 3`C `2, 3, 4, 5`D `1, 2, 3, 4`答案:A解析:列表的切片操作`start:end` 会返回从索引`start` (包含)到索引`end` (不包含)的子列表。
在这个例子中,`my_list1:4` 会返回索引 1 到索引 3 的元素,即`2, 3, 4` 。
二、填空题1、 Python 中的注释可以使用_____(单行注释)和_____(多行注释)。
python基础试题
python基础试题一、选择题1. 在Python中,用于表示字符串的变量类型是:A. intB. floatC. strD. list2. 下列哪个选项是Python的内置数据类型?A. StackB. ArrayC. TupleD. Graph3. 在Python中,如何正确定义一个函数?A. def my_function():B. function my_function():C. MyFunction = function()D. _my_function()4. 下列哪个是Python的循环结构?A. forB. nextC. do-whileD. switch-case5. 在Python中,如何实现从1加到100的累加和?A. sum(1, 100)B. sum = 0; for i in range(1, 101): sum += iC. addUp(1, 100)D. 1.to(100).sum()二、填空题1. 在Python中,可以使用 ______ 来创建一个新的列表,例如:`[1, 2, 3]`。
2. 如果想要在Python中导入模块,需要使用 ______ 语句。
3. 在Python中,可以使用 ______ 语句来实现条件判断。
4. 对于字符串“Hello, World!”,如果想要截取从第7个字符开始到结束的所有字符,可以使用 ______ 切片操作。
5. 在Python中,定义一个名为`my_dict`的字典,其键为`'name'`,值为`'Kimi'`,应使用 ______ 语法。
三、判断题1. 在Python中,每个语句的结束都需要使用分号(`;`)。
()2. Python是一种静态类型语言。
()3. 使用`print`函数可以在Python中输出信息到控制台。
()4. 在Python中,可以使用`len`函数来获取一个列表的长度。
Python基础训练100题
Python3基础训练100题文章目录实例001:数字组合实例002:“个税计算”实例003:完全平方数实例004:这天第几天实例005:三数排序实例006:斐波那契数列实例007:copy实例008:九九乘法表实例009:暂停一秒输出实例010:给人看的时间实例011:养兔子实例012:100到200的素数实例013:所有水仙花数实例014:分解质因数实例015:分数归档实例016:输出日期实例017:字符串构成实例018:复读机相加实例019:完数实例020:高空抛物实例021:猴子偷桃实例022:比赛对手实例023:画菱形实例024:斐波那契数列II实例025:阶乘求和实例026:递归求阶乘实例027:递归输出实例028:递归求等差数列实例029:反向输出实例030:回文数实例031:字母识词实例032:反向输出II实例033:列表转字符串实例034:调用函数实例035:设置输出颜色实例036:算素数实例037:排序实例038:矩阵对角线之和实例039:有序列表插入元素实例040:逆序列表实例041:类的方法与变量实例042:变量作用域实例043:作用域、类的方法与变量实例044:矩阵相加实例045:求和实例046:打破循环实例047:函数交换变量实例048:数字比大小实例049:lambda实例050:随机数实例051:按位与实例052:按位或实例053:按位异或实例054:位取反、位移动实例055:按位取反实例056:画圈实例057:画线实例058:画矩形实例059:画图(丑)实例060:字符串长度实例061:杨辉三角实例062:查找字符串实例063:画椭圆实例064:画椭圆、矩形实例065:画组合图形实例066:三数排序实例067:交换位置实例068:旋转数列实例069:报数实例070:字符串长度II实例071:输入和输出实例072:创建链表实例073:反向输出链表实例074:列表排序、连接实例075:不知所云实例076:做函数实例077:遍历列表实例078:字典实例079:字符串排序实例080:猴子分桃实例081:求未知数实例082:八进制转十进制实例083:制作奇数实例084:连接字符串实例085:整除实例086:连接字符串II实例087:访问类成员实例088:打印星号实例089:解码实例090:列表详解实例091:time模块实例092:time模块II实例093:time模块III实例094:time模块IV实例095:转换时间格式实例096:计算复读次数实例097:磁盘写入实例098:磁盘写入II实例099:磁盘读写实例100:列表转字典实例001:数字组合题目有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析遍历全部可能,把有重复的剃掉。
Python入门36道经典练习题
Python⼊门36道经典练习题【程序1】题⽬:有1、2、3、4个数字,能组成多少个互不相同且⽆重复数字的三位数?都是多少?num_list=[]cou=0for i in range(1,5):for j in range(1,5):for k in range(1,5):if i!=j and j!=k and k!=i:res=i*100+j*10+knum_list.append(res)cou+=1print(num_list,cou)【程序2】题⽬:企业发放的奖⾦根据利润提成。
利润(I)低于或等于10万元时,奖⾦可提10%;利润⾼于10万元,低于20万元时,低于10万元的部分按10%提成,⾼于10万元的部分,可可提成7.5%;20万到40万之间时,⾼于20万元的部分,可提成5%;40万到60万之间时⾼于40万元的部分,可提成3%;60万到100万之间时,⾼于60万元的部分,可提成1.5%,⾼于100万元时,超过100万元的部分按1%提成,从键盘输⼊当⽉利润I,求应发放奖⾦总数?#Filename:002.pyi = int(raw_input('Enter the profit:'))arr = [1000000,600000,400000,200000,100000,0]rat = [0.01,0.015,0.03,0.05,0.075,0.1]r = 0for idx in range(0,6):if i>arr[idx]:r+=(i-arr[idx])*rat[idx]print (i-arr[idx])*rat[idx]i=arr[idx]print r【程序3】题⽬:⼀个整数,它加上100后是⼀个完全平⽅数,再加上168⼜是⼀个完全平⽅数,请问该数是多少?# -*- coding:utf-8 -*-'''Created on 2015-6-7# 第三题:⼀个整数,它加上100后是⼀个完全平⽅数,再加上168⼜是⼀个完全平⽅数,请问该数是多少@author: AdministratorPython学习交流QQ群:857662006'''import mathnum = 1while True:if math.sqrt(num + 100)-int(math.sqrt(num + 100)) == 0 and math.sqrt(num + 268)-int(math.sqrt(num + 268)) == 0:print(num)breaknum += 1【程序4】题⽬:输⼊某年某⽉某⽇,判断这⼀天是这⼀年的第⼏天?#author: 叛军import datetimeimport timedtstr = str(input('Enter the datetime:(20151215):'))dt = datetime.datetime.strptime(dtstr, "%Y%m%d")another_dtstr =dtstr[:4] +'0101'another_dt = datetime.datetime.strptime(another_dtstr, "%Y%m%d")print (int((dt-another_dt).days) + 1)【程序5】题⽬:输出9*9⼝诀。
Python基础教程-习题(含答案)
Python基础教程习题(含答案)第一章一、判断题1、Python是一种跨平台、开源、免费的高级动态编程语言。
(对)2、Python 3.x完全兼容Python 2.x。
(错)3、在Windows平台上编写的Python程序无法在Unix平台运行。
(错)4、不可以在同一台计算机上安装多个Python版本。
(错)5、pip命令也支持扩展名为.whl的文件直接安装Python扩展库。
(对)二、填空题1、Python安装扩展库常用的是_______工具。
(pip)2、在IDLE交互模式中浏览上一条语句的快捷键是__________。
(Alt+P)3、Python程序文件扩展名主要有__________和________两种,其中后者常用于GUI 程序。
(py、pyw)4、Python源代码程序编译后的文件扩展名为_________。
(pyc)5、使用pip工具升级科学计算扩展库Numpy的完整命令是______________。
(pip install --upgrade Numpy)6、使用pip工具安装科学计算扩展库Numpy的完整命令是___________。
(pip install Numpy)7、使用pip工具查看当前已安装的Python扩展库的完整命令是__________。
(pip list)8、现有一python文件为“Stu.py”,ico文件为“Stu.ico”,两者均在同一目录下,现要将Stu.py打包发布在此目录下,所发布的文件图标采用Stu.ico,需要使用的命令是_____________。
(pyinstaller –I Stu.ico –F Stu.py)第二章一、判断题1、已知 x = 3,那么赋值语句 x = 'abcedfg' 是无法正常执行的。
(错)2、Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型。
(错)3、Python采用的是基于值得自动内存管理方式。
大学python基础试题及答案
大学python基础试题及答案一、选择题(每题2分,共20分)1. 在Python中,以下哪个关键字用于定义一个函数?A. defB. classC. returnD. import答案:A2. 下列哪个选项是Python中的注释方式?A. // 这是注释B. # 这是注释C. /* 这是注释 */D. -- 这是注释答案:B3. 以下哪个选项是Python中的列表推导式?A. [x for x in range(10)]B. {x for x in range(10)}C. (x for x in range(10))D. [x: x in range(10)]答案:A4. Python中,以下哪个选项是正确的字典定义方式?A. dict = {1: 'apple', 2: 'banana'}B. dict = [1: 'apple', 2: 'banana']C. dict = (1: 'apple', 2: 'banana')D. dict = {'1': 'apple', '2': 'banana'}答案:A5. 在Python中,以下哪个选项是正确的字符串格式化方式?A. "Hello %s" % "world"B. "Hello {}".format("world")C. "Hello {0}".format("world")D. "Hello %d" % "world"答案:C二、填空题(每题2分,共20分)1. Python中的整数类型是________。
答案:int2. 在Python中,以下代码的输出结果是________。
python编程练习题
Python编程练习题一、基础语法篇1. 编写一个Python程序,输出“Hello, World!”。
2. 计算并输出1+2+3++100的和。
3. 编写一个程序,交换两个变量的值。
4. 输出当前日期和时间。
5. 编写一个判断闰年的程序,输入年份,输出是否为闰年。
6. 输出九九乘法表。
7. 编写一个程序,计算并输出一个整数列表的平均值。
8. 将字符串中的所有小写字母转换为大写字母。
9. 编写一个程序,统计字符串中字母、数字和其他字符的数量。
10. 输出斐波那契数列的前20项。
二、函数与模块篇1. 编写一个函数,计算两个数的最大公约数。
2. 编写一个函数,实现字符串的反转。
3. 编写一个函数,判断一个数是否为素数。
4. 导入math模块,计算并输出e的平方根。
5. 编写一个模块,实现计算圆的面积和周长。
6. 定义一个装饰器,统计函数运行时间。
7. 编写一个器,实现斐波那契数列的。
8. 使用lambda表达式编写一个求两个数最大值的函数。
9. 编写一个递归函数,计算阶乘。
10. 定义一个类,实现一个简单的计算器功能(加、减、乘、除)。
三、列表、元组与字典篇1. 创建一个包含110的整数列表。
2. 输出列表中的最大值和最小值。
3. 将列表中的每个元素乘以2。
4. 删除列表中的偶数。
5. 输出列表中的元素及其索引。
6. 编写一个程序,实现列表的冒泡排序。
7. 创建一个元组,包含姓名、年龄和性别信息。
8. 输出元组中的第二个元素。
9. 将元组转换为列表。
10. 编写一个程序,统计字符串中每个字母的出现次数(使用字典)。
四、文件操作篇1. 编写一个程序,读取文件内容并输出。
2. 将一段文字写入到文件中。
4. 读取一个文本文件,统计其中的单词数量。
5. 编写一个程序,复制一个文件到指定目录。
6. 读取一个CSV文件,并输出其中的数据。
7. 将一个列表写入到JSON文件中。
8. 读取一个JSON文件,并转换为Python对象。
Python基础练习代码(20条)
Python基础练习代码(20条)1. 输入两个整数,输出它们的和。
a = int(input("请输入一个整数: "))b = int(input("请输入另一个整数: "))sum = a + bprint("{0} + {1} = {2}".format(a, b, sum))2. 计算一个整数的阶乘。
n = int(input("请输入一个正整数: "))fact = 1for i in range(1, n+1):fact *= iprint("{0}! = {1}".format(n, fact))3. 输入三角形三边的长度,判断是否为直角三角形。
a = float(input("请输入三角形第一条边的长度: "))b = float(input("请输入三角形第二条边的长度: "))c = float(input("请输入三角形第三条边的长度: "))if (a*a + b*b == c*c) or (a*a + c*c == b*b) or (b*b + c*c ==a*a):print("是直角三角形")else:print("不是直角三角形")4. 输入一个字符,判断它是否为大写字母。
ch = input("请输入一个字符: ")if ch >= 'A' and ch <= 'Z':print("{0}是大写字母".format(ch)) else:print("{0}不是大写字母".format(ch)) 5. 输入一个整数,判断它是否为素数。
n = int(input("请输入一个正整数: "))flag = 0if n == 1:print("1不是素数也不是合数")else:for i in range(2, n//2+1):if n % i == 0:flag = 1breakif flag == 0:print("{0}是素数".format(n))else:print("{0}不是素数".format(n))6. 输入一个字符,判断它是否为数字。
python基础练习题
Python基础练习题一、变量与数据类型1. 将字符串 "Hello, World!" 赋值给一个变量,并打印该变量。
2. 定义一个整型变量和一个浮点型变量,分别计算它们的和、差、乘积和商。
4. 编写代码,实现整型、浮点型、字符串型之间的类型转换。
二、运算符与表达式1. 计算 9 + 6 3 2 的结果。
3. 编写一个表达式,判断一个数是否既是偶数又是3的倍数。
4. 使用除法运算符,计算 15 除以 2 的结果,并解释为何得到这样的结果。
5. 编写一个表达式,计算两个数的平均值。
三、流程控制1. 编写一个if语句,判断一个数是否大于10,如果是,则打印“该数大于10”。
2. 编写一个for循环,打印1到10的所有偶数。
3. 使用while循环,计算1+2+3++100的和。
5. 编写一个函数,判断一个年份是否为闰年。
四、列表与元组1. 创建一个包含1到10的列表。
2. 将列表中的每个元素乘以2,并打印结果。
3. 编写代码,实现列表的排序和反转。
4. 使用切片操作,获取列表中的第3到第6个元素。
5. 编写一个函数,计算列表中所有偶数的和。
五、字典与集合1. 创建一个包含三个键值对的字典,分别表示姓名、年龄和性别。
2. 通过键访问字典中的值,并修改其中一个键的值。
3. 编写代码,遍历字典中的所有键和值。
4. 创建一个集合,包含1到10的数字,并去除重复元素。
5. 编写一个函数,判断两个集合是否为子集关系。
六、函数与模块1. 编写一个函数,计算两个数的最大公约数。
2. 定义一个斐波那契数列的函数,并打印前10个数字。
3. 导入math模块,计算并打印圆周率的值。
4. 编写一个装饰器,用于计算函数运行时间。
5. 创建一个模块,实现一个简单的计算器功能(加、减、乘、除)。
七、文件操作1. 编写代码,读取一个文本文件的内容,并打印出来。
2. 将一段文字写入一个文本文件,并实现换行。
3. 编写代码,复制一个文件到另一个目录。
Python初学者15道必练题及参考答案
Python初学者15道必练题
典型、快捷、有效的练习题
可新科技 | Python培训 | 2021
1: 已知两个整数,编写一段函数,返回它们的乘积,如果结果大于1000,则返回两个数的和。
已知:
2 已知0到9共十个数,编写一个从0开始到9结束的循环,在每一步打印当前数与上一个数的和。
预期返回结果:
5: 已知一个数列,如果数列的首尾数字相同,则返回真。
预期返回结果
6: 已知一个数列,编写一个循环,只打印可以被五整除的数。
预期输出结果:
7: 编写一段函数,返回“Emma”这个单词在一个句子中的出现次数。
输入的句子是“Emma is good developer. Emma is a writer”
期望输出结果为:
参考答案2: 不使用任何字符串函数
8: 编写函数,打印如下的数字组合。
9: 前后颠倒一个已知数,如果其结果与原来的数相同,则返回“此数为回文数”,否则返回“不是回文数”。
期望输出结果:
10: 输入两个数列,编写一个函数,将其合成一个数列,条件是:新数列只收录第一数列里的奇数,及第二个数列里的偶数,返回新的数列。
期望输出的结果:
11: 编写一段代码,从一个整数中间反序提取每一个数字。
期望输出结果:
比如, 如果一个整数是7536, 输出结果应该是“6 3 5 7“,数字之间用空格分开。
参考答案:
12: 已知输入的薪水,根据如下的阶梯所得税规定,计算个人所得税。
13: 打印1到10的乘法口诀表期望输出结果:
参考答案:
14: 打印由“*“字符组成的半个倒金字塔图案。
参考答案:。
python入门题目100道
python入门题目100道1. 输出"Hello, World!"2. 计算两个数的和3. 计算两个数的平均值4. 计算一个列表中所有元素的和5. 计算一个列表中所有奇数元素的和6. 计算一个列表中所有偶数元素的和7. 获取一个字符串的长度8. 判断一个数是否是偶数9. 判断一个数是否是质数10. 判断一个数是否是回文数11. 将一个字符串反转输出12. 将一个列表反转输出13. 判断一个字符串是否是回文字符串14. 判断一个字符串是否是有效的括号匹配15. 将一个字符串中的大写字母改为小写字母16. 将一个字符串中的小写字母改为大写字母17. 删除一个列表中重复的元素18. 打印一个列表中的每个元素和对应的索引值19. 将一个列表排序,从小到大20. 将一个列表排序,从大到小21. 判断一个字符串是否是有效的日期格式(yyyy-mm-dd)22. 判断一个字符串是否是有效的手机号码(11位数字)23. 使用循环输出1到100的数字24. 使用循环输出1到100的奇数25. 使用循环输出1到100的偶数26. 使用循环输出所有的质数(1到100)27. 使用循环输出斐波那契数列(前100项)28. 判断一个数是否是斐波那契数29. 将一个列表中的元素去重并排序30. 判断一个字符串是否是有效的IP地址(xxx.xxx.xxx.xxx)31. 将一个字符串倒序输出(不包括空格)32. 判断一个字符串是否是有效的邮箱地址33. 判断一个字符串是否是有效的身份证号码34. 判断一个字符串是否是有效的URL地址35. 获取当前日期和时间36. 判断一个字符串是否是有效的十六进制颜色代码37. 将一个字符串的每个单词首字母大写38. 判断一个字符串是否是回文序列(可以忽略非字母字符)39. 判断一个字符串是否是有效的邮政编码(6位数字)40. 将一个字符串转换为整数类型41. 将一个字符串转换为浮点数类型42. 新建一个文件并写入字符串43. 读取文件中的字符串并输出44. 从一个字符串中提取所有的数字45. 判断一个字符串是否是有效的日期和时间格式(yyyy-mm-dd hh:mm:ss)46. 将一个字符串分割为列表(按空格分割)47. 判断一个字符串是否是回文序列(不区分大小写)48. 计算一个字符串中某个字符的出现次数49. 判断一个字符串是否是有效的十进制数50. 获取当前的操作系统名称51. 获取当前的用户名52. 获取当前的文件路径53. 获取当前的Python版本号54. 获取当前的日期(yyyy-mm-dd)55. 获取当前的时间(hh:mm:ss)56. 判断一个字符串是否是有效的IPv4地址57. 判断一个字符串是否是有效的IPv6地址58. 判断一个字符串是否是有效的MAC地址59. 获取当前的年份60. 获取当前的月份61. 获取当前的日期(dd)62. 获取当前的小时(24小时制)63. 获取当前的分钟64. 获取当前的秒数65. 判断一个字符串是否是有效的十进制整数66. 判断一个字符串是否是有效的十进制小数67. 判断一个字符串是否是有效的二进制数68. 判断一个字符串是否是有效的八进制数69. 判断一个字符串是否是有效的十六进制数70. 计算一个整数的阶乘71. 计算一个浮点数的绝对值72. 计算一个数的平方根73. 计算一个数的立方74. 计算一个数的正弦值75. 计算一个数的余弦值76. 计算一个数的正切值77. 计算一个数的 arcsin 值78. 计算一个数的 arccos 值79. 计算一个数的 arctan 值80. 计算一个数的自然对数81. 计算一个数的以10为底的对数82. 计算两个数的最大公约数83. 计算两个数的最小公倍数84. 判断一个数是否是闰年85. 输出一个九九乘法表86. 打印一个三角形形状(如:█)87. 判断一个数是否是完数(所有因子之和等于自身的数)88. 判断一个数是否是偶完全数(所有因子之和等于自身的数且是偶数)89. 判断一个数是否是回文素数(既是回文数又是质数)90. 统计一个字符串中各个字符的出现次数91. 判断一个数是否是梅森素数(形如2^p-1的质数)92. 判断一个数是否是水仙花数(各个位上的数字的立方和等于自身的数)93. 判断一个数是否是强数(所有因子之和大于自身的数)94. 判断一个数是否是自守数(平方数的末尾与自身相同)95. 判断一个数是否是哈密顿数(各个位上的数字之和等于自身的数)96. 判断一个字符串是否是等差数列(按照相等的差值递增或递减)97. 判断一个字符串是否是等比数列(按照相等的比值递增或递减)98. 判断一个字符串是否是等差数列或等比数列99. 判断一个字符串是否是阿姆斯特朗数(各个数字的立方和等于自身的数)100. 计算一个立方体的体积。
14道Python基础练习题(附答案)
14道Python基础练习题(附答案)1. 输⼊⼀个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:⽤if语句实现;输⼊百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
代码:a=eval(input('请输⼊成绩:'))if a<0 or a>100 or a%1!=0:print('您输⼊的成绩不合理,请检查后重新输⼊')elif 90<=a<=100:print('成绩等级:A')elif 80<=a<=89:print('成绩等级:B')elif 70<=a<=79:print('成绩等级:C')elif 60<=a<=69:print('成绩等级:D')else:print('成绩等级:E')输出:2. 篮球⽐赛是⾼分的⽐赛,领先优势可能很快被反超。
作为观众,希望能在球赛即将结束时,就提早知道领先是否不可超越。
体育作家Bill James发明了⼀种算法,⽤于判断领先是否“安全”。
算法描述:获取领先的分数,减去3分;如果⽬前是领先队控球,则加0.5;否则减0.5(数字⼩于0则变成0);计算平⽅后的结果;如果得到的结果⽐当前⽐赛剩余时间的秒数⼤,则领先是“安全”的。
请编写程序实现上述算法的功能,并给出运⾏结果。
代码:#Python学习交流群:725638078grade=eval(input('请输⼊领先分数:'))time=eval(input('请输⼊剩余时间:'))t=grade-3w=input('⽬前是否为领先队控球(Y or N):')if w == 'Y' or w == 'y':g=(t+0.5)**2else:g=t-0.5if g<=0:g=0g=g**2if g>time:print('领先是“安全”的')else:print('领先是“不安全”的')输出:3.根据y=1+3-1+3-1+……+(2n-1)-1,求:y<3时的最⼤n值。
【编程】python基础试题(含答案)练习
1.下列有关于 print 命令的描述中,正确的是( )A .在打印机里打印相关的文本或者数字等B .可以用来画图C .在屏幕中输出相应的文本或者数字等D .执行语句 print (“python”, 3.7)时会出错2.Python 中 print(66!=66)结果是 ( )。
A.1 B.0 C.True D. False3.数据分析的处理工具错误的( )A.Access B..Excel C.python D.SQL4.在教科书中利用 Python 探究电流和电压、电阻的关系实验里,除了可以通过书中的 Jupyter Notebook 外,处理数据还可以通过下列( )工具实现。
A. Python IDLE B.Xmind C .网络画板 D .几何画板5.下列选项都是属于高级语言的是 ( )A.汇编语言、机器语言B .汇编语言、 Basic 语言C.Basic 语言、 Python 语言D .机器语言、 Python 语言6.关于 python 程序设计语言,下列说法错误的是( )A.python 是一种面向对象的编程语言 B.python 代码只能在交互环境中运行C.python 具有丰富和强大的库 D.python 是一种解释型的计算机程序设计高级语言7.利用 Word 软件编辑了一篇关于“ Python简介”的文档,部分界面如图所示,下列说法正确的是( )A .该文档中的有 2 个用户添加了 2 处批注B .该文档中图片采用的环绕方式为上下型C.该文档中总共有 4 处修订D .若要对文档中所有的“Python”文字设置为“红色倾斜”格式,用自动更正功能最合适8.下列选项中,不属于 Python 合法变量名的是( )A.int32 B.40xl C.self D._name_9.利用 Python 求 100 以内所有能被 3 整除的正整数,代码如下:则下列程序第 3 行的横线应该填 ( )A.i=i*3 B.i=i%3 C.i%3==0 D.i/3==110.下列不是 Python 程序基本结构的是()。
Python基础题库100题及答案
Python基础题库100题及答案1.下面不属于python特性的是()。
A.简单易学B.开源的免费的C.属于低级语言D.高可移植性答案:C2.Python脚本文件的扩展名为()。
A。
pythonB。
pyC。
ptD。
pg答案:B3.当需要在字符串中使用特殊字符时,python使用()作为转义字符。
A.\B./C.#D.%答案:A4.下面()不是有效的变量名。
A._demoB.XXXC.NumbrD.my-score答案:C5.幂运算运算符为()。
A.*B.**C.%D.//答案:B6.关于a。
or。
b的描述错误的是()。
A.若a=True。
b=True则a or b ==TrueB.若a=True。
b=False则a or b ==TrueC.若a=True。
b=True则a or b ==FalseD.若a=False。
b=False则a or b ==False答案:C7.优先级最高的运算符为()。
A./B.//C.*D.()答案:D8.正确答案选项使用()关键字来创建python自定义函数。
nB.funcreD.def答案:D9.下面程序的运行结果为()。
a=10def。
setNumber():a=100XXX()print(a)答案:1010.关于a。
or。
b的描述错误的是()。
A.若a=True。
b=True则a or b ==TrueB.若a=True。
b=False则a or b ==TrueC.若a=True。
b=True则a or b ==FalseD.若a=False。
b=False则a or b ==False答案:C11.关于函数参数传递中,形参与实参的描述错误的是()。
A.python实行安值传递参数。
值传递指调用函数时将常量或变量的值(实参)传递给函数的参数(形参)B.实参与形参存储在各自的内存空间中,是两个不相关的独立变量C.在参数内部改变形参的值,实参的值一般是不会改变的。
Python基础练习题50道(附答案)
**问题1:Hello,World!**print("Hello,World!")**问题2:计算两个数字的和**num1=5num2=3sum=num1+num2print("和为:",sum)**问题3:判断奇偶数**num=int(input("请输入一个整数:"))if num%2==0:print(num,"是偶数")else:print(num,"是奇数")**问题4:计算平方和立方**num=int(input("请输入一个整数:"))square=num**2cube=num**3print(f"{num}的平方是{square},立方是{cube}") **问题5:计算斐波那契数列**def fibonacci(n):if n<=1:return nelse:return fibonacci(n-1)+fibonacci(n-2)n=int(input("请输入斐波那契数列的项数:"))for i in range(n):print(fibonacci(i),end="")**问题6:计算阶乘**def factorial(n):if n==0:return1else:return n*factorial(n-1)num=int(input("请输入一个整数:")) print(f"{num}的阶乘是{factorial(num)}")**问题7:检查质数**def is_prime(n):if n<=1:return Falsefor i in range(2,int(n**0.5)+1):if n%i==0:return Falsereturn Truenum=int(input("请输入一个整数:"))if is_prime(num):print(f"{num}是质数")else:print(f"{num}不是质数")**问题8:反转字符串**def reverse_string(s):return s[::-1]string=input("请输入一个字符串:") reversed_string=reverse_string(string) print(f"反转后的字符串:{reversed_string}")**问题9:统计字符数**text=input("请输入一段文本:")char_count=len(text)print(f"文本中的字符数:{char_count}")**问题10:计算平均值**numbers=[5,10,15,20,25]average=sum(numbers)/len(numbers) print(f"平均值为:{average}")**问题11:检查回文字符串**def is_palindrome(s):s=s.lower()s=s.replace("","")return s==s[::-1]string=input("请输入一个字符串:")if is_palindrome(string):print("是回文字符串")else:print("不是回文字符串")**问题12:计算阶乘的和**def factorial(n):if n==0:return1else:return n*factorial(n-1)n=int(input("请输入一个整数:"))sum_factorial=sum(factorial(i)for i in range(1,n+1))print(f"前{n}个整数的阶乘之和:{sum_factorial}")**问题13:判断闰年**def is_leap_year(year):if(year%4==0and year%100!=0)or(year%400==0): return Trueelse:return Falseyear=int(input("请输入一个年份:"))if is_leap_year(year):print(f"{year}是闰年")else:print(f"{year}不是闰年")**问题14:打印九九乘法表**for i in range(1,10):for j in range(1,i+1):print(f"{j}x{i}={i*j}\t",end="")print()**问题15:找出最大数**numbers=[5,10,2,8,15,3]max_num=max(numbers)print(f"最大数是:{max_num}")**问题16:找出最小数**numbers=[5,10,2,8,15,3]min_num=min(numbers)print(f"最小数是:{min_num}")**问题17:计算字符串长度**text="Hello,World!"length=len(text)print(f"字符串的长度是:{length}")**问题18:检查回文数**def is_palindrome(num):original_num=numreverse_num=0while num>0:remainder=num%10reverse_num=reverse_num*10+remaindernum=num//10return original_num==reverse_numnum=int(input("请输入一个整数:"))if is_palindrome(num):print(f"{num}是回文数")else:print(f"{num}不是回文数")**问题19:生成随机数**import randomrandom_num=random.randint(1,100)print(f"随机数:{random_num}")**问题20:计算列表平均值**numbers=[5,10,15,20,25]average=sum(numbers)/len(numbers)print(f"列表的平均值:{average}")**问题21:翻转列表**my_list=[1,2,3,4,5]reversed_list=my_list[::-1]print(f"翻转后的列表:{reversed_list}")**问题22:查找列表中的重复元素**def find_duplicates(lst):duplicates=[]for item in lst:if lst.count(item)>1and item not in duplicates:duplicates.append(item)return duplicatesmy_list=[1,2,2,3,4,4,5]duplicate_elements=find_duplicates(my_list)print(f"重复元素:{duplicate_elements}")**问题23:判断字符串是否包含唯一字符**def has_unique_chars(s):return len(s)==len(set(s))string=input("请输入一个字符串:")if has_unique_chars(string):print("字符串包含唯一字符")else:print("字符串不包含唯一字符")**问题24:检查列表是否升序排列**def is_sorted(lst):return lst==sorted(lst)my_list=[1,2,3,4,5]if is_sorted(my_list):print("列表是升序排列的")else:print("列表不是升序排列的")**问题25:找出两个列表的公共元素**def find_common_elements(list1,list2):common_elements=list(set(list1)&set(list2)) return common_elementslist1=[1,2,3,4,5]list2=[3,4,5,6,7]common=find_common_elements(list1,list2) print(f"公共元素:{common}")**问题26:计算列表中的元素之和**my_list=[1,2,3,4,5]sum_elements=sum(my_list)print(f"列表中元素之和:{sum_elements}")**问题27:检查字符串是否是回文排列**def is_palindrome_permutation(s):s=s.replace("","").lower()char_count={}for char in s:if char in char_count:char_count[char]+=1else:char_count[char]=1odd_count=0for count in char_count.values():if count%2!=0:odd_count+=1if odd_count>1:return Falsereturn Truestring=input("请输入一个字符串:")if is_palindrome_permutation(string):print("可以通过重新排列成回文")else:print("不能通过重新排列成回文")**问题28:计算两个矩阵的和**def add_matrices(matrix1,matrix2):result=[]for i in range(len(matrix1)):row=[]for j in range(len(matrix1[0]):row.append(matrix1[i][j]+matrix2[i][j])result.append(row)return resultmatrix1=[[1,2,3],[4,5,6]]matrix2=[[7,8,9],[10,11,12]]result=add_matrices(matrix1,matrix2)for row in result:print(row)**问题29:查找最大公共前缀**def common_prefix(strings):if not strings:return""prefix=strings[0]for string in strings[1:]:i=0while i<min(len(prefix),len(string))and prefix[i]==string[i]: i+=1prefix=prefix[:i]return prefixstr_list=["flower","flour","flow"]prefix=common_prefix(str_list)print(f"最大公共前缀:{prefix}")**问题30:判断是否为回文链表**class ListNode:def__init__(self,val=0,next=None):self.val=valself.next=nextdef is_palindrome(head):values=[]while head:values.append(head.val)head=head.nextreturn values==values[::-1]#创建链表node1=ListNode(1)node2=ListNode(2)node3=ListNode(2)node4=ListNode(1)node1.next=node2node2.next=node3node3.next=node4if is_palindrome(node1):print("是回文链表")else:print("不是回文链表")**问题31:合并两个有序链表** class ListNode:def__init__(self,val=0,next=None): self.val=valself.next=nextdef merge_two_lists(l1,l2):dummy=ListNode(0)current=dummywhile l1and l2:if l1.val<l2.val:current.next=l1l1=l1.nextelse:current.next=l2l2=l2.nextcurrent=current.nextif l1:current.next=l1elif l2:current.next=l2return dummy.next#创建两个有序链表list1=ListNode(1,ListNode(2,ListNode(4)))list2=ListNode(1,ListNode(3,ListNode(4)))result=merge_two_lists(list1,list2)while result:print(result.val,end="->")result=result.next**问题32:判断有效的括号**def is_valid_parentheses(s):stack=[]parentheses={')':'(','}':'{',']':'['}for char in s:if char in parentheses.values():stack.append(char)elif char in parentheses:if not stack or stack.pop()!=parentheses[char]:return Falsereturn not stackstring=input("请输入一个包含括号的字符串:")if is_valid_parentheses(string):print("有效的括号")else:print("无效的括号")**问题33:计算最大子序列和**def max_subarray_sum(nums):max_sum=current_sum=nums[0]for num in nums[1:]:current_sum=max(num,current_sum+num)max_sum=max(max_sum,current_sum)return max_sumnumbers=[-2,1,-3,4,-1,2,1,-5,4]max_sum=max_subarray_sum(numbers)print(f"最大子序列和为:{max_sum}")**问题34:查找两个整数之和等于给定目标值的索引** def two_sum(nums,target):num_dict={}for i,num in enumerate(nums):complement=target-numif complement in num_dict:return[num_dict[complement],i] num_dict[num]=ireturn Nonenums=[2,7,11,15]target=9result=two_sum(nums,target)print(f"索引:{result[0]},{result[1]}")**问题35:颠倒整数**def reverse_integer(x):if x<0:sign=-1x=-xelse:sign=1reversed_x=int(str(x)[::-1])if reversed_x>2**31-1:return0return sign*reversed_xnum=int(input("请输入一个整数:")) reversed_num=reverse_integer(num)print(f"颠倒后的整数:{reversed_num}")**问题36:移除重复元素**def remove_duplicates(nums):if not nums:return0i=0for j in range(1,len(nums)):if nums[j]!=nums[i]:i+=1nums[i]=nums[j]return i+1numbers=[1,1,2,2,2,3,4,5,5,5]new_length=remove_duplicates(numbers)print(f"新数组长度:{new_length}")**问题37:实现strStr()函数**def strStr(haystack,needle):if not needle:return0for i in range(len(haystack)-len(needle)+1): if haystack[i:i+len(needle)]==needle:return ireturn-1haystack="hello"needle="ll"index=strStr(haystack,needle)print(f"子串位置:{index}")**问题38:合并两个有序数组**def merge(nums1,m,nums2,n):i,j,k=m-1,n-1,m+n-1while i>=0and j>=0:if nums1[i]>nums2[j]:nums1[k]=nums1[i]i-=1else:nums1[k]=nums2[j]j-=1k-=1while j>=0:nums1[k]=nums2[j]j-=1k-=1nums1=[1,2,3,0,0,0]m=3nums2=[2,5,6]n=3merge(nums1,m,nums2,n)print(nums1)**问题39:找出缺失的正整数**def first_missing_positive(nums):nums_set=set(nums)i=1while i in nums_set:i+=1return inumbers=[3,4,-1,1]missing=first_missing_positive(numbers)print(f"缺失的正整数:{missing}")**问题40:旋转图像**def rotate(matrix):n=len(matrix)for i in range(n//2):for j in range(i,n-i-1):temp=matrix[i][j]matrix[i][j]=matrix[n-j-1][i]matrix[n-j-1][i]=matrix[n-i-1][n-j-1]matrix[n-i-1][n-j-1]=matrix[j][n-i-1]matrix[j][n-i-1]=tempmatrix=[[1,2,3],[4,5,6],[7,8,9]]rotate(matrix)for row in matrix:print(row)**问题41:找出只出现一次的元素**def single_number(nums):result=0for num in nums:result^=numreturn resultnumbers=[4,1,2,1,2]unique=single_number(numbers)print(f"只出现一次的元素:{unique}")**问题42:判断链表是否有环**class ListNode:def__init__(self,val=0,next=None):self.val=valself.next=nextdef has_cycle(head):slow=headfast=headwhile fast and fast.next:slow=slow.nextfast=fast.next.nextif slow==fast:return Truereturn False#创建一个有环的链表node1=ListNode(1)node2=ListNode(2)node3=ListNode(3)node1.next=node2node2.next=node3node3.next=node1if has_cycle(node1):print("链表有环")else:print("链表无环")**问题43:删除链表的倒数第N个节点** class ListNode:def__init__(self,val=0,next=None):self.val=valself.next=nextdef remove_nth_from_end(head,n):dummy=ListNode(0)dummy.next=headfirst=dummysecond=dummyfor i in range(n+1):first=first.nextwhile first:first=first.nextsecond=second.nextsecond.next=second.next.next#创建一个链表node1=ListNode(1)node2=ListNode(2)node3=ListNode(3)node4=ListNode(4)node5=ListNode(5)node1.next=node2node2.next=node3node3.next=node4node4.next=node5n=2remove_nth_from_end(node1,n) current=node1while current:print(current.val,end="->")current=current.next**问题44:合并K个升序链表**class ListNode:def__init__(self,val=0,next=None):self.val=valself.next=nextdef merge_k_sorted_lists(lists):from heapq import heappush,heappopmin_heap=[]dummy=ListNode()current=dummyfor i,l in enumerate(lists):if l:heappush(min_heap,(l.val,i)) while min_heap:val,i=heappop(min_heap)current.next=lists[i]current=current.nextlists[i]=lists[i].nextif lists[i]:heappush(min_heap,(lists[i].val,i)) return dummy.next#创建K个升序链表list1=ListNode(1,ListNode(4,ListNode(5)))list2=ListNode(1,ListNode(3,ListNode(4)))list3=ListNode(2,ListNode(6))lists=[list1,list2,list3]result=merge_k_sorted_lists(lists)while result:print(result.val,end="->")result=result.next**问题45:反转链表**class ListNode:def__init__(self,val=0,next=None):self.val=valself.next=nextdef reverse_linked_list(head):prev=Nonecurrent=headwhile current:next_node=current.nextcurrent.next=prevprev=currentcurrent=next_nodereturn prev#创建一个链表node1=ListNode(1)node2=ListNode(2)node3=ListNode(3)node4=ListNode(4)node5=ListNode(5)node1.next=node2node2.next=node3node3.next=node4node4.next=node5reversed_head=reverse_linked_list(node1) current=reversed_headwhile current:print(current.val,end="->")current=current.next**问题46:计算两数相除**def divide(dividend,divisor):MAX_INT=2**31-1MIN_INT=-2**31if dividend==0:return0if dividend==MIN_INT and divisor==-1:return MAX_INTsign=-1if(dividend<0)^(divisor<0)else1dividend,divisor=abs(dividend),abs(divisor) result=0while dividend>=divisor:temp,multiple=divisor,1while dividend>=(temp<<1):temp<<=1multiple<<=1dividend-=tempresult+=multiplereturn sign*resultdividend=10divisor=3result=divide(dividend,divisor)print(f"商:{result}")**问题47:找出最长连续递增序列**def find_length_of_lcis(nums):if not nums:return0max_length=1current_length=1for i in range(1,len(nums)):if nums[i]>nums[i-1]:current_length+=1max_length=max(max_length,current_length)else:current_length=1return max_lengthnumbers=[1,3,5,4,7]length=find_length_of_lcis(numbers)print(f"最长连续递增序列的长度:{length}")**问题48:计算字符串中的单词数**def count_words(s):words=s.split()return len(words)text="Hello,World!This is a sample text."word_count=count_words(text)print(f"单词数:{word_count}")**问题49:判断字符串是否是回文字符串II**def valid_palindrome(s):def is_palindrome(s,left,right):while left<right:if s[left]!=s[right]:return Falseleft+=1right-=1return Trueleft,right=0,len(s)-1while left<right:if s[left]!=s[right]:return is_palindrome(s,left+1,right)or is_palindrome(s,left,right-1) left+=1right-=1return Truestring="abca"if valid_palindrome(string):print("是回文字符串")else:print("不是回文字符串")**问题50:找出两个数组的交集** def intersection(nums1,nums2):set1=set(nums1)set2=set(nums2)return list(set1.intersection(set2)) nums1=[1,2,2,1]nums2=[2,2]result=intersection(nums1,nums2) print(f"交集:{result}")。
Python编程能力测试题(基础篇)
Python编程能力测试题一、单选题(共20题,每题2分)1.Python中input()函数的主要作用是()。
A.输入 B.输出 C.画图 D.运行2.在Python的代码编程环境下运行程序应点击()。
A.File菜单下的New File B.File菜单下的Save C.Run菜单下的Run Module D.Edit菜单下的Copy3.Python中的语句turtle.pensize(8),其功能是()。
A.设置画布的尺寸 B.设置画笔颜色C.设置画笔线条粗细 D.开始绘图4.Python中的语句turtle.circle(200),其功能是()。
A.设置画布的尺寸为200 B.海龟画笔前进200个像素C.画半径为200的圆 D.旋转200度5.运行以下Python程序,最后画出来的图形大致是()。
import turtleturtle.forward(200)turtle.left(90)turtle.forward(200)turtle.left(90)turtle.forward(200)turtle.left(90)turtle.forward(200)A. B. C. D.6.以下关于Python中变量的说法,错误的是()。
A.变量必须要命名。
B.变量第一次赋值为1,第二次赋值为4,那么最后变量的值为4。
C.变量只能用来存储数字,不能存储文字。
D.变量名区分大小写,同一个字母的大写和小写,被视为不同的变量。
7.Python中语句print(2*4)的执行结果是()。
A.0.5 B.6 C.8 D.1/28.下面哪个选项的变量中,装的内容是整数类型?()A.a = 2.5 B.b = int('90') C.c = '1 + 1' D.d = '-10' 9.Python中的“==”代表的是()。
A.把“==”左边的值赋值给右边。
B.把“==”右边的值赋值给左边。
python练习题
Python 练习题一、基础知识篇1. 写一个简单的Python程序,输出“Hello, World!”。
3. 编写一个程序,交换两个变量的值。
4. 输出1到100之间所有的偶数。
5. 判断一个整数是否为素数。
二、数据类型篇1. 将字符串 "Python is great!" 转换为首字母大写的形式。
2. 计算字符串 "hello world" 中字母 'o' 出现的次数。
3. 将列表 [1, 2, 3, 4, 5] 中的每个元素乘以2。
4. 从字典中提取键为 'name' 的值。
5. 将两个元组 (1, 2, 3) 和 (4, 5, 6) 合并为一个元组。
三、控制结构篇1. 输出1到100之间所有的水仙花数(水仙花数是指一个三位数,其各位数字的立方和等于该数本身)。
2. 使用for循环打印九九乘法表。
3. 编写一个程序,计算1+2+3++100的和。
4. 判断一个年份是否为闰年。
5. 使用while循环实现一个简单的计算器,支持加、减、乘、除四种运算。
四、函数篇1. 编写一个函数,计算两个数的最大公约数。
2. 编写一个函数,判断一个字符串是否为回文。
3. 编写一个函数,实现冒泡排序算法。
4. 编写一个函数,计算斐波那契数列的前n项。
5. 编写一个函数,实现字符串的反转。
五、模块与包篇1. 导入math模块,计算并输出e的平方根。
2. 导入os模块,获取当前工作目录。
3. 导入datetime模块,输出当前日期和时间。
4. 导入random模块,一个1到100之间的随机整数。
5. 导入json模块,将一个字典转换为JSON字符串。
六、面向对象篇1. 定义一个名为Person的类,包含姓名和年龄两个属性。
2. 在Person类中定义一个方法,用于打印个人信息。
3. 定义一个学生类(Student),继承自Person类,并添加成绩属性。
python之基础练习30题
python之基础练习30题学⽽时习之,不亦说乎!python是⼀门语⾔,要经常练习,希望我整理出来的这些题⽬对初学者或者经常不⽤python的你有所帮助。
题⽬:1,九九乘法表2,⼿动输⼊⼀个字符串,打散放进⼀个列表,⼩写字母从⼤到⼩排列序,⼤写字母保持不变3,li=[1,2,3,4,5,6,7,8,8]组成多少个互不相同且不重复的两位数4,计算1+2+3...+98+99+100,并打印出计算公式5.列表['alex','egon','yuan','wusir','666']1.把666替换成999# 2.获取"yuan"索引# 3.假设不知道前⾯有⼏个元素,分⽚得到最后的三个元素6.切割字符串"luffycity"为"luffy","city"7.求1~100间所有偶数的和(亦可奇数和,分别使⽤for,while循环写)8.从键盘接收⼀百分制成绩(0~100),要求输出其对应的成绩等级A~E。
# 其中,90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。
9.输⼊⼀年份,判断该年份是否是闰年并输出结果。
(该程序可以重复使⽤使⽤while True)# 注:凡符合下⾯两个条件之⼀的年份是闰年。
(1)能被4整除但不能被100整除。
(2)能被400整除。
10.将列表['alex', 'steven', 'egon'] 中的每⼀个元素使⽤ ‘\_’ 连接为⼀个字符串11.求100以内不能被3整除的所有数,并把这些数字放在列表sum3=[]⾥,并求出这些数字的总和和平均数。
Python语言基础知识(练习+答案)
第六章专题二Python语言基础知识一、单选题1.结构化程序设计的三种基本结构不包括(C)。
A.顺序结构B.选择结构C.树型结构D.循环结构2.以下不属于选择语句的是( D )。
A.if B.else C.elif D.def3.设计判断一元二次方程有几个解的程序,其结构应用使用(B)。
A.顺序结构B.分支结构C.循环结构D.混合结构4.以下程序代码执行后,输出的结果是( B )。
a=1;b=2if b<a:b=a+1print(b)A.1 B.2 C.3 D.45.运行下列Python程序,输出结果为True,则空白处应填入(A)。
m=10;n=12if :print(True)else:print(False)A.m<n B.m>n C.m==n D.m>=n 6.已知a=6,b=7,以下程序段执行后变量c的值为( D )。
if (a%3==0)or(b%3==0):c=a*belse:c=a+bA.6 B.7 C.13 D.427.执行以下程序段后,输出的结果是( B )。
a,b=1,2if b<2:a=-1else:a=0print(a)A.-1 B.0 C.1 D.28.10以内的奇数可用列表函数表示为( C )。
A.range(10,2) B.range(1,10) C.range(1,10,2) D.range(0,11,2)9.语句“i=i+1”的意思是( D )。
A.没有意义B.既是赋值语句也是判断语句C.判断i与i+1是否相等D.将i的原值加1再赋给i,即i自增110.下列语句用于计算s=1+3+…+19并输出结果。
①for i in range(1,20,2): ②print(s) ③s=0 ④s=s+i正确的语句顺序是( C )。
A.①②③④B.①②④③C.③①④②D.③④②①11.下列语句用于在屏幕上输出10个“★”,其中横线处应该填入( D )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.什么是python?
python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言。
2.python的优点
创始人评价:简单、优雅、明确
简单体现在如果你的母语是英语,写python脚本就像写文章,很简单; 优雅体现在python的格式,比如缩进来确定代码块,可避免编程人员进行复杂的嵌套;
明确体现在解决问题的方法只有一种最优选项,而perl语言是每个问题有很多最优解,但不利于团队协作;
有强大的第三方库模块,需要实现一复杂功能,只需要调用现有的库,可快速实现功能。
20多年的发展,各种库都已经完备,比如:邮件库,爬虫库...... 可跨平台移植,java有Java的虚拟机,python同样;
是一种面向对象的语言;
是一种可扩展的语言(与C,C++,Java结合)
3.python的缺点
代码执行速度慢,相比C语言,不过现在python的异步并发框架导致执行速度慢;
python是开源的编程语言,代码不能加密,当然有相应的工具可以将python代码转换为exe的二进制可执行码,但是反解码也很容易;
4.python的使用
1)交互式使用
2)脚本使用
测试:
/usr/bin/env python ##会直接读取你当前的python版本,然后执行
/usr/bin/python ##仅仅只会读取编写的版本
coding:utf-8 ##转译中文
coding=utf-8
encoding:utf-8
encoding=utf-8
5.字符编码:
ACCII:1字节=8位,2^8=256
Unicode:2字节=16位,2^16=65536 英文-> 2字节中文-> 2字节
utf-8:英文->1 字节,中文->3字节
GB2312:2字节
内存读取:Unicode
存在硬盘:utf-8
字符的编码(encode): unicode->utf-8 ##都是2字节,提升效率
字符的解码(decode): utf-8->unicode ##英文1字节,中文3字节,节省空间
>>> name_unicode = u"hello"
>>> type(name_unicode)
<type 'unicode'>
>>> name_utf8 = name_unicode.encode('utf-8')
>>> type(name_utf8)
<type 'str'>
>>> name_unicode1 = name_utf8.decode('utf-8')
>>> type(name_unicode1)
<type 'unicode'>
6.Python解释器
cpython
ipython:基于cpython,交互方式有所增强
pypy:对代码进行动态编译,JIT技术(just-in-time compiler,即时编译器),显著提高代码执行速度。
Jpython:java平台上的python解释器,将python代码编译成java字节码执行。
IronPython:直接将python代码编译成.net的字节码
7.ipython的使用
8.pycharm的使用
9.输入与输出
输出:告诉用户程序执行的结果
# print + 字符串... //字符串可为多个,逗号隔开# print + 数字|表达式
输入:告诉计算机程序所需的信息
# raw_input写入的内容赋值给变量name,输入的内容为字符类型
# input写入的内容赋值给变量age,输入的内容为数值类型
小练习: 编写一程序,录入信息包括hostname、IP、used_year、CPU、
Memory、manager_name,如果使用年限超过10年,直接显示警告信息“该服务器使用年限太久!”,如果使用年限不超过10年,显示该服务器信息如下面的格式如下:
主机信息
主机名: hostname
IP:IP
使用年限:used_year
CPU:CPU
Memory:Memory
10.变量
变量是内存中的一块区域,变量的命名: 变量名由字母,数字,下划线组成。
(不能以数字开头)
变量的特性:实际存储在内存上;变量名最好见名知意;变量可重新赋值。
python中地址变量与c语言刚好相反,一条数据包含包含多个标签。
11.运算符与表达式
赋值运算符:=, +=, -=, /=, *=, %=
算术运算符:+, -, *, /, //,%,**
关系运算符: >, >=, <, <=, !=, ==
布尔值:1 < 2,返回一个布尔类型的结果1本身代表True 0代表False
逻辑运算符:逻辑与and, 逻辑或or, 逻辑非not
12.数字
整型
长整形
浮点型:表示小数
复数类型:python对复数提供内嵌支持,eg: 3.14j, 8.32e-36j
13.字符串
字符串的定义
# 字符串定义的第一种方式:
>>> str1 = 'our company is westos'
# 字符串定义的第二种方式:
>>> str2 = "our company is westos" # 字符串定义的第三种方式:
>>> str3 = """our company is westos"""转义符号:
换行符号:
三重引号:
块注释
函数的doc文档字符串格式化
字符串索引
字符串切片。