赞
踩
下面对以往参考博客答案有误已修正的部分进行再次声明
多选题3-2
python标识符不能由美元符号等特殊符号组成(除开下划线)
艹,这个道题的正确答案居然有A,貌似是吧java的题目照搬过来了
实际上python命名不应该有$
多选题3-4
后面查了一下,操作系统文件主要类型不包含视图
多选题3-8
LIKE字句的通配符没有*,在教材上
程序填空题
也进行了一些修改,一起来看看吧,这里修改的部分比较多
关键字不能用于如上三种写法
记住就好,可以用到if里面
一个靠谱的说法是避免像c/c++那样吧赋值写进判断条件里面不报错,于是干脆直接不允许赋值符号出现在条件表达式中
是这样的
可变序列:可以对序列执行增删改操作,对象地址不发生更改。
例如:集合、列表、字典
不可变序列:没有增删改的操作。
例如:字符串、元组
结论:不可变序列在内存中是不会改变的,如果对不可变序列做出改变,会将该序列存储在新的地址空间中,而原来的序列因为垃圾回收机制,会被回收。可变序列发生改变时,是不会改变地址的,而是改变内存中的值,或者是扩展内存空间。
参考链接:
根据参考链接可以知道UTF-8对于1-3字节表示的“字符”有不同的规则
而汉字满足的是2字节的规则
而UTF-8可以看做改良的(有前置标识信息的)Unicode字符集
在标识信息下只有三个字符组合才能表达一个汉字(两字节-16位)
不过文中描述还是比较模糊,真实性有待考证
.Python 没有单字符类型,一个字母也当做字符串处理
在字符串前添加r是的字符串中的转义符号失效
replace()方法对字符串进行处理,返回处理后的字符串,但是不改变原来的字符串
- x="123 4 56"
- print(''.join(x.split())==x )
-
- #结果为False
- x="123 4 56"
- print(','.join(x.split(','))==x )
-
- #结果为True
split()按函数中目标符号(默认为空格、回车、制表符),对x进行分割,返回分割后元素组成的列表
join()函数按左边的符号参数对列表进行整合,返回一个字符串
所以第二种得到原字符串,永真
简单的python交换语句
一种可靠的说法:
Python浮点数的上限由您的操作系统和硬件平台决定,整数受可用内存的限制
浮点数超过上限表示为inf
- print(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999.99999999999999999)
-
- #输出为inf
- a={'123','456'}
- b={'789'}
- c=a+b
- print(c)
-
- #出现报错
集合的并集运算需要使用 ‘|’符号,不能直接使用‘+’符号
使用缩进来取消花括号以此来代替逻辑性
A.print
- print=3
- print("123")
-
- #输入以上代码会报错
- #原因是print优先被认为是作为变量被调用
max其实和print这类函数一样,但是max与print相比的频率更低,所以print最不适合作为标识符
A.*
对于乘法,我觉得两边数据要求都是整数有点不符合实际
B./
对于除法,可能是因为版本的问题,这里有一句话:
注意:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。
链接:运算符操作介绍
现在3.0版本整数除以整数可能是小数
但是由于2.0+版本整数相除和c一样只能为整数,所以为了精确计算不建议两边写成整数
链接:整除
C.//
经过实验,其是3.0版本出现的产物,支持浮点数作为运算数,不必要都为整数
D.%
模操作对于极小的浮点数取模会丢失精度,如:
- print(4%0.1)
-
- #输出结果为0.09999999999999978
-
- #运行软件为pycharm
所以建议两边都为整数
D.#
你看它颜色都不一样,不选它选谁 ヾ(•ω•`)o
B.print("smith\\exam1\\test.txt")
在字符串中打印出'\'需要使用一个转义字符‘\’或者在字符串前加一个r
D.abs()
没什么好说的
B.变量名中可以有空格或标点符号
不能有空格或标点符号
- s1='abc'
- s2='123'
D.s1.concat(s2)
经实验,ABC皆可
concat()用于链接两个表格
str1='SDUTCSSEno1'
,欲获得切片:'1onESS'
,使用的方式是:D.str1[-1:-7:-1]
可以知道,我们应该要倒着来截取字符串
经过实验,我们可以知道,对于str[start:end:step]来说
step是具有方向的,我们不应该仅仅说‘他’的步长为step,还应该加上他的方向
例如,当start>end的时候,我们应该称其为步长为负step
另外[start:end]依旧是左闭右开区间,需要注意!
- var1 = 'Hello World!'
- print (var1[:6] + 'SDUT!')
A.Hello SDUT!
varl[:6]为从varl开始到下标为5(左闭右开)的子字符串
+为链接字符串操作
C.*
字符串的乘法操作
B.search
A.split B.index C.format
A字符串按指定字符切片
B返回指定字符下标
C格式化输出
C.将字符串首字母变为大写
A.转换为大写字符串 str.upper()
B.转换为小写字符串 str.lower()
D.将字符串中每个单词首字母变为大写 str.title()
链接:字符串操作函数
D.将字符串中每个单词首字母变为大写
D.'7'
对字符串比较大小,返回最大的,min()同理
链接:max函数
D.False
isnumeric()返回字符串是否是有数字组成的结果
可知str1不是由数字组成所以结果为False
C.输入设备 E.输出设备
H.运算器 A.储存器 F.控制器
A.由字母、下划线、美元符号和数字组成
答案里面有A,但是实际上python并不能用$当做标识符
B.长度不受限制
C.if、true、while等关键字不能做标识符
全部
A.主要数据文件
B.事务日志文件
C.视图
C.事务日志文件
全部
A.列级约束
B.表级约束
A.通过 SQL 命令创建数据表
D.利用 sql server management studio 创建数据
表
_ % *
没有*号,应该是版本问题,有些地方可以使用,但是翻看教材发现没有
A.ASC 表示按列值从大到小的降序排列
C.DESC 表示按列值从大到小的降序排列
- CREATE PROCEDURE MYP1
- @P DATETIME
- AS
- SELECT StudentName,EntranceTime FROM Student
- WHERE EntranceTime=@P
B.EXEC MYP1 @P= '2009-09-10'
C.EXEC MYP1 '2009-09-10'
全部
A.用户的帐号是否有效
B.能否访问系统
C.能访问系统的哪些数据库
B.键盘
C.鼠标
E.扫描仪
H话筒.
I.摄像头
A.显示器
D.打印机
F.音箱
G.耳机
J.绘图仪
D.函数首部
G.函数体
四、填空题
- s = [str(x) for x in range(2,35,7)]
- print(",".join(s))
解析:
该语句为python特有的推导句,语义为返回一个从2开始步长为7,到34为止的数字数组,并同时将每一个数字转换为字符串类型存储到s列表中,
而join语句即为将列表中的元素加入空字符串‘’中并用,(逗号)隔开
答案:
2,9,16,23,30
- print("pi={pi:10.3f}".format(pi=3.1415926))
- print("2^10={:,}".format(2**10))
解析:
对于语句:
{pi:10.3f}
{}其实相当于c语言当中的占位符的功能
pi表示从参数列表(format)中选取变量名为pi的数值加入语句
如果没有变量名而且有多个{}和列表里有多个数值,那么按参数列表的顺序来对{}进行赋值
:10.3f表示见一个数值以10个宽度,保留三位小数的形式输出
对于语句:
{:,}
我查了半天文档,居然没有找到这个冒号加逗号的使用语法,
在经过几次实验后发现:
1.该语句对整数及整数部分采取美元计数的方法用逗号划分
如:1234567表示成1,234,567
2.该语句对小数的小数部分无效
答案:
pi= 3.142
2^10=1,024
3**2**3
的值为解析:
语句在同等级的情况下从左到右
则答案为3的平方的三次方
答案:
6561
- a=34
- b=23
- print("{first}-{second}={0}".format(34-23,first=a,second=b))
参考链接:python的输入输出
翻看{}占位符的用法就好了
答案:
34-23=11
- a=34
- b=23
- print("{1}-{2}={0}".format(34-23,a,b))
答案:
34-23=11
解析:
对于语句:
bin(31)[2:]
意为吧10进制的31翻译为二进制,并且截取第二位到最后的字符串作为结果
对于语句:
{:>08s}
<^>分别为左对齐、右对齐、居中对齐
0表示空格用0填充
8代表所占长度
s表示数据为str字符串类型
答案:
00011111
print("programming".find("r"))
输出结果是: 解析:
find()函数有三个参数,按顺序来分别是
1.目标字符
2.第几个,默认为1
3.结束下标,默认为len(str)
返回目标下标,没有找到返回-1
答案:
1
4
-1
print("aABC".isalpha())
的输出是解析:
判断字符串是否全为数字和全为字母,返回值逻辑型
答案:
False
True
print(" xyz ".strip()," xyz ".rstrip(), " xyz ".lstrip())
的输出是解析:
三个strip函数是用来去除空格
按顺序,分别是
1.去除两边空格(中间不管)
2.去除右空格
3.去除左空格
问了一下老师答案直接用空格 就行了
答案:
xyz xyz xyz
由于每个输出项额外用一个空格隔开,看起来是会多一个空格的样子
解析:
优先级:非>且>或
答案:
True
答案:
0x10 0b1010
太水辣!!!
答案:
helloworld
- a,b = eval(input())
- print(a,b,type(a),type(b))
当操作者输入 4,5 时,程序的执行结果如下:
- 4,5
- 4 5 <class 'int'> <class 'int'>
注意:4,5中间的逗号必须是英文逗号。
不写了,又臭又长,没有什么要奇特的语法,注意审题就行了
都没人人提醒我更新这个,鼠鼠我要生气了QAQ
正则表达式戳这里!!!
- n=0
- #for i in range( 100,999 ):
- for i in range( 100,1000 ):
- gw= i%10
- sw= i//10%10
- if (gw+sw)%2==1:
- n=n+1
- print(n)
- p = re.compile(r'[Rr]ub[ye]')
- for line in p.findall(contents):
- print(line)
- #p = re.compile(r'[^a-z\n]+ ') 加号后面没有空格,我的锅
- p = re.compile(r'[^a-z\n]+')
- for line in p.findall(contents):
- print(line)
- p = re.compile(r'[a-f0-3]+')#复制太急了,格式没调好
- for line in p.findall(contents):
- print(line)
-
- #解释 吧字符串分成两边 左边是纯小写字母 右边是纯数字
- s=input( )
- while s!='Y' and s!='y' :
- print(s.title(),end=" ")
- s=input( )
- def change(s):
- return s[::-1]
- n=input( )
- print(change(n) )
- a,b,c = eval(input())
- if a<=b:
- if b<=c:
- print(f"{a},{b},{c}")
-
- else:
- if a<=c:
- print(f"{a},{c},{b}")
- else:
- print(f"{c},{a},{b}")
-
- else:
- if a<=c:
- print(f"{b},{a},{c}")
- else:
- if b<=c:
- print(f"{b},{c},{a}")
- else:
- print(f"{c},{b},{a}")
- print(list(range(4))) 期望输出:[0, 1, 2, 3]
- print(list(range(7,11))) 期望输出:[7, 8, 9, 10]
- print(list(range(1,16,3))) 期望输出:[1, 4, 7, 10, 13]
- print(list(range(15,2,-4))) 期望输出:[15, 11, 7, 3]
- print(list(range(-20,20,6))) 期望输出:[-20, -14, -8, -2, 4, 10, 16]
- print(list(range(-1,-22,-7))) 期望输出:[-1, -8, -15]
又到了大家喜闻乐见的编程环节了[狗头]
输入一个整数和进制,转换成十进制输出
输入格式:
在一行输入整数和进制
输出格式:
在一行十进制输出结果
输入样例:
在这里给出一组输入。例如:
45,8
输出样例:
在这里给出相应的输出。例如:
37
代码:
- a,b=map(int,input().split(','))
-
- print(int(str(a),b))
解析:
将以逗号分隔的字符串数据用split()函数根据逗号分隔返回一个列表
再使用map将列表的字符串数据转化为数值赋值给a和b
最后由于int语法:
int(str,int)
功能是将int进制的str字符串转换为十进制的数值
本题目要求读入2个整数A和B,然后输出它们的和。
输入格式:
程序运行后输入任意两个整数m和n
输出格式:
求出两个数的和以及平均数的值是多少?sum=m+n avg=(m+n)/2
输入样例:
在这里给出一组输入。例如:
- 44
- 24
输出样例:
在这里给出相应的输出。例如:
- 68
- 34
代码:
- x=eval(input())
- y=eval(input())
- t=x+y
- print(t)
- print("{:.0f}".format(t/2))
解析:
使用eval函数将接收到的数值智能地转换到特定类型
然后使用占位符对浮点数进行保留小数位输出(会四舍五入)
输入两个整数,交换位置后输出。
输入格式:
在一行中用空格分隔输入两个整数a,b。
输出格式:
交换a,b的值后,按“a=? b=?”的格式输出
输入样例:
在这里给出一组输入。例如:
3 5
输出样例:
在这里给出相应的输出。例如:
a=5 b=3
代码:
- a,b=map(int,input().split())
-
- print("a=%d b=%d"%(b,a))
解析:
这是一种占位符的用法----使用%+数据类型字母进行占位,交换两个字母的输出顺序
或者使用a,b=b,a进行交换顺序输出也行
计算两个整数的差。
输入格式:
在一行中用空格分隔输入两个整数a,b。
输出格式:
计算a-b的结果,按“s=?”的格式输出。
输入样例:
在这里给出一组输入。例如:
3 5
输出样例:
在这里给出相应的输出。例如:
s=-2
代码:
- a,b=map(int,input().split())
-
- print("s=%d"%(a-b))
解析:
和之前的题目一样,转化为数值,进行占位输出(可以同时运算!!!)
读入2个整数A和B,然后输出它们的和。
输入格式:
在第一行中给出一个被加数A;
在第二行中给出一个加数B。
输出格式:
在一行中输出A与B的和。
输入样例:
在这里给出一组输入。例如:
- 1
- 2
输出样例:
在这里给出相应的输出。例如:
3
代码:
- a=int(input(),10)
- b=int(input(),10)
- print(a+b)
解析:
由于这里的输入时分开两行的,所以考虑用两个input()接受两个数据
使用int函数将字符串转化为十进制数值
然后运算加减打印输出
现有n个苹果,均分给5位同学,剩下的苹果交还老师。请编写程序,解决下述问题:
每位同学能分得几个苹果?
一共分出去多少个苹果?
交还老师的苹果有几个?
输入样例:
输入苹果总数n。例如:
17
输出样例:
- 每人分得3个苹果.
- 一共分出去15个苹果.
- 交还老师2个苹果.
代码:
-
- a=int(input(),10)
-
- print("每人分得{}个苹果.".format(a//5))
- print("一共分出去{}个苹果.".format(a-a%5))
- print("交还老师{}个苹果.".format(a%5))
解析:
简单的整除操作和取余操作,会使用占位符即可
占位符种类:
%d占位符
{}占位符(使用format格式化输出)
甲列火车长a米,速度为m米/秒;乙列火车长b米,速度为n米/秒。两列火车相向而行,从车头相遇开始至两车车尾分离,共需要多少时间?请编程求解,输出结果保留两位小数,以秒为单位。
下图是a = 150, b = 200, m = 15, n = 12时的两车交汇过程示意图。
a
b
m
n
两车交汇时长为x.yz秒.
其中,x.yz为保留两位小数的浮点数。
- 150.34
- 200.21
- 15.1
- 12
两车交汇时长为12.94秒.
代码:
-
- a=float(input())
- b=float(input())
- m=float(input())
- n=float(input())
- ans=(a+b)/(m+n)
-
- print("两车交汇时长为%.2f秒."%ans)
解析:
看明白题目,明确物理量,
由题分析可知,此题是求相遇问题
获得总路程除以相对速度就是时间
实际上是简单的物理题
在计算机内部,英文字母依ASCII码分别由连续的整数来表示。比如,大写的英文字母A的ASCII码值为65,B的码值为66,然后依次递增,Z的码值为90。
请编程计算:
从键盘读取大写字母Q(代号,其值由具体输入确定),请问Q所代表的大写字母是字母表中的第几个字母(从1开始计数,即A为第1个字母)?
从键盘读取整数N,求字母表中的第N个字母(从1开始计数)是什么?
输入格式:
Q
N
说明:是一个字符的大写字母;N的取值范围为1~26。
输出格式:
请参考输出样例。
输入样例:
- B
- 3
输出样例:
- B是字母表中第2个字母.
- 字母表中第3个字母是C.
提示:使用ord()及chr()函数来完成。
代码:
- a=input()
-
- b=int(input())
- #c=int(96,10)
- print("{}是字母表中第{}个字母.".format(a,ord(a)-64))
- #print(ord(a)-64)
- print("字母表中第{}个字母是{}.".format(b,chr(64+b)))
- #print(chr(96+b))chr(96+b)
解析:
ord()函数--将字符串翻译为对应ASCII值(int)
chr()函数将对应ASCII值转换为对应字符串
实际上是一道函数应用题
拼尽全力还是不会?参考观方指定用书:
《c语言从入门到入土》 -999 ¥
《python从初学到跑路》 999 ¥
《数据库从建库到删库》 0 ¥
作者每天分享一篇关于C/C++/Python的劝退文章,学习编程保证迷路!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。