一、选择题
1.python语言属于(C)
A.机器语言 B.汇编语言 C.高级语言 D.科学计算语言
2.下列选项中,不属于python特点的是(B)
A.面向对象 B.运行效率高 C.可读性好 D.开源
3.python程序文件的扩展名是(D)
A. .python B. .pyt C. .pt D. .py
4.以下叙述中正确的是(C)
A.python 3.x与python 2.x兼容
B.语句只能以程序方式执行
C.python是解释型语言
D.python语言出现的晚,具有其他高级语言的一切优点
5.下列选项中合法的标识符是(A) p11
A. _7a_b
B.break #break是关键字
C. _a$b # $ 不是标识符
D. 7ab #以数字开头了
6.下列标识符中合法的是(B) p11
A. i'm # ' 不是标识符
B. _
C. 3Q #以数字开头了
D. for #for是关键字
在python中,标识符由字母,数字和下划线(_)组成,
不能以数字开头
********和c语言不同的是python标识符不包括$*******
7.python不支持的数据类型有(A)p12
A. char B.int C.float D.list
8.关于python的复数,下列说法错误的是(C)p14
A.表示复数的语法形式是a+bj
B.实部与虚部必须是浮点数
C.虚部必须加后缀j,且必须是小写 #可大写也可小写
D.函数abs()可以求复数的模 #p23:abs(x),x为复数时返回复数的模
p23
本题D中的函数是abs(x)函数,作用是返回x的绝对值,x为复数时返回复数的模
a=-10
b=3-4j
print(abs(a))
print(abs(b))
p19
在math模块中,有fabs(x)函数,作用是返回x的绝对值,返回值为浮点数
需要导入math模块。
参数不能是复数
import math
a=-10
b=3-4j
print(math.fabs(a))
print(math.fabs(b)) #不对
9.函数type(1+0xf*3.14)的返回结果是(D)
A. <class 'int'> B.<class 'long'> C.<class 'str'> D.<class 'float'>
print(type(1+0xf*3.14))
print(1)
print(0xf)
print(3.14)
10.若字符串s='a\nb\tc',则len(s)的值是(C)p15
A. 7 B.6 C.5 D.4
#a,\n,b,\t,c,总共5个字符
11.python语句print(0xA+0xB)的输出结果是(D)p12
A.0xA+0xB B.A+B C.0xA0xB D.21
#16进制整数,以0x或0X开头,后接0~9和A~F(或用小写字母)字符的整数。
0x9=9
0xa=10 (0xA=10)
0xb=11
0xabc=a*16*16+b*16+c=2748
12.下列属于math库中的数学函数是(C)p19
A.time() B.round() C.sqrt() D.random()
13.python表达式中,可以使用(A)控制运算的优先顺序
A.圆括号() B.方括号[] C.大括号{} D. 尖括号<>
14.下列表达式中,值不是1的是(D)p25~p28
A.4//3 B.15%2 C.1^0 D.~1
#选项C中,^是按位异或操作,即两个数相同取0,不同取1
D.中,~是按位取反操作,记忆方法:~a = - (a + 1)
详细方法:
https://blog.csdn.net/u012843873/article/details/101265460
15.python语句print(r"\nGood")的运行结果是(C)p16
在字符串前面加r,那么反斜杠\不发生转义
A.新行和字符串Good B.r"\nGood"
C.\nGood D.字符r,新行和字符串Good
16.语句eval('2+4/5')执行后的输出结果是(A)p16
A.2.8 B. 2 C.2+4/5 D.'2+4/5’
17.整形变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如13变成31,正确的python表达式是(A)
A.(x%10)*10+x//10 B.(x%10)//10+x//10
C.(x/10)%10+x//10 D.(x%10)*10+x%10
18.与数学表达式对应的python表达式中,不正确的是(C)
A. c*d/(2*a*b) B.c/2*d/a/b C.c*d/2*a*b D.c*d/2/a/b
二、填空题
1.Python语句既可以采用交互式的 命令 执行方式,又可以采用 程序 执行方式。
2.在Python集成开发环境中,可使用快捷键 F5 运行程序。
3.使用math模块库中的函数时,必须要使用 import math 语句导入该模块。
可以看看下面,记不住没关系,等学完第8章就会很明白了。
可以有三种方法导入模块:
import 模块名1[,模块名2[,...,模块名n]
import math
x=4
print(math.sqrt(x))
import math,random
print(math.pi)
print(random.randint(0,100))#生成0--100的随机数
from 模块名 import 项目名1[,项目名2[,...,项目名n]
和上个方法不同的是,这个方法只能导入一个模块,并且只能导入啥项目使用啥项目
from math import sqrt
x=4
print(sqrt(x)) #这里和上一个不一样,这里不用使用math.sqrt(x)
#print(pi) 报错,没导入pi项目
from 模块名 import *
from math import *
print(pi)
print(sqrt(16))
4.Python表达式1/2的值为 0.5 ,1//3+1//3+1//3的值为 0 ,5%3的值为 2 。
5.Python表达式0x66 & 0o66的值为 38 。
知识点1:
0b开头的是二进制数,0o开头的是八进制数,0x开头的是十六进制数
0x66表示为十进制数为:6*16+6=102
0o66表示为十进制数为:6*8+6=54
知识点2:
将102表示为二进制数:
102/2=51——余0
51/2=25——余1
25/2=12——余1
12/2=6——余0
6/2=3——余0
3/2=1——余1
1/2=0——余1
然后按照从下到上的顺序取余数得:1100110
同理,54的二进制表示为:110110
可以检验一下,比如102的二进制表示为1100110,那么转化为十进制为:2的1次方+2的2次方+2的5次方+2的6次方得:2+4+32+64=102
知识点3:
&为按位与运算,运算规则为:
0&0=0 , 0&1=0 , 1&0=0 , 1&1=1
将得到的102与54的二进制数低位对齐,高位补0,进行按位与运算:(蓝色的0是补上的0)
1100110
0110110
————
0100110
得到的结果为0100110,转化为十进制为38
6.设m,n为整型,则与m%n等价的表达式为 m-m//n*n 。
下面是用函数的验证,可以不看
def Get1(x, y):
return x - x // y * y
def Get2(x, y):
return x % y
print(Get1(23, 3), Get2(23, 3))
print(Get1(66, 9), Get2(66, 9))
print(Get1(98, 21), Get2(98, 21))
7.计算2的31次方-1的Python表达式是 2**31-1 或 (1<<31)-1 。
8.数学表达式的Python表达式为 。
math.exp(abs(x-y))/(pow(3,x)+math.sqrt(6)*math.sin(y))
三、问答题
1.Python语言有何特点?
Python语言的优势:
(1)简单易学。
(2)程序可读性好。
(3)丰富的数据类型。
(4)开源的语言。
(5)解释型的语言。
(6)面向对象的语言。
Python语言的劣势:
Python程序的运行速度比较慢,Python用代码缩进来区分语法逻辑的方式还是给很多初 学者带来了困惑。
2.简述Python的主要应用领域及常用的函数模块。
主要应用领域:
(1)Windows系统编程。
(2)科学计算与数据可视化。
(3)数据库应用。
(4)多媒体应用。
(5)网络应用。
(6)电子游戏应用。
常用的函数模块:
(1)main模块函数。
(2)cmatch模块函数。
(3)random模块函数。
(4)time模块函数。
(5)calendar模块函数。
3.Python语言有哪些数据类型?p12~p18
4.写出下列数学式对应的Python表达式。
1.
import math
a = 1
b = 2
print(math.sin(a) + math.sin(b) / (a + b))
2.
import math
a = 1
b = 2
c = 3
print(1 / 3 * math.pow(a * a * a + b * b * b + c * c * c, 1 / 3))
print((1 / 3) * ((math.pow(a, 3) + math.pow(b, 3) + math.pow(c, 3)) ** (1 / 3)))
5.按要求写出Python表达式。
(1)将整数k转换成实数。
k = 1
print(float(k))
(2)求实数x的小数部分。
k = 1.23456
print(k-int(k))
(3)求正整数m的百位数字。
k = 123456
print(k // 100 % 10)
(4)随机产生一个8位数,每位数字可以是1到6中的任意一个整数。
import random
for i in range(8):
a = random.randint(1,7)
print(a,end = '')
6.下列语句的执行结果是False,分析为什么?文章来源:https://www.toymoban.com/news/detail-480542.html
>>> from math import sqrt
>>> print(sqrt(3)*sqrt(3)==3)
False
文章来源地址https://www.toymoban.com/news/detail-480542.html
到了这里,关于Python语言程序设计 习题1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!