第1章 Python程序基础

数据类型

1、判断题:
‎x=12‍‎x="changed"‍‎print(type(x))‍‎可以看到x的类型是str‍
选项:
A: 正确
B: 错误
答案: 【 正确

测验1

1、单选题:
‎print("Hi")‏‎print("3*6")‏‎程序输出结果:‏‎‏
选项:
A: Hi18
B: Hi 18
C: Hi3*6
D: Hi 3*6
答案: 【 Hi3*6

2、单选题:
‏#print("Test")‍‏print("abc") #print("xyz")‍‏程序输出‍‏‍
选项:
A: Testabc xyz
B: Testabcxyz
C: abc
D: abc xyz
答案: 【 abc

3、单选题:
‌s=b"x41x42"​‌s=s+b"x43"​‌print(s)​‌结果类型是:​‌​
选项:
A: bytes
B: str
C: int
D: float
答案: 【 bytes

4、单选题:
‍a=1‍‍b=-2‍‍print("#%3d#%-3d" %(a,b))‍‍结果是:‍‍‍
选项:
A: 1 -2
B: #1 #-2
C: #1 #2
D: #3 #-3
答案: 【 #1 #-2

5、单选题:
‏a=0x12‏‏print(a)‏‏‏
选项:
A: 0x12
B: 12
C: 18
D: 0x
答案: 【 18

6、单选题:
​一元二次方程a*x*x+b*x+c=0的其中一个根是‏​‏
选项:
A: x=(-b+math.sqrt(b*b-4*a*c))/2*a
B: x=(-b+math.sqrt(b*b-4*a*c))/2/a
C: x=(-b+math.sqrt(b*b-4*a*c))/(2/a)
D: x=-b+math.sqrt(b*b-4*a*c)/2*a
答案: 【 x=(-b+math.sqrt(b*b-4*a*c))/2/a

7、单选题:
‏#计算x的3次方‎‏x=7‎‏y=_____‎‏print(y)‎‏空格填入的是‎‏‎
选项:
A: x*3
B: x**3
C: x*x*2
D: 3*x
答案: 【 x**3

8、单选题:
‎x=input("x=")‍‎x=2*float(x)‍‎print(x)‍‎输入‍‎x=23b‍‎输出结果是‍
选项:
A: 46
B: 0
C: 错误
D: 4
答案: 【 错误

9、单选题:
‍x=input("x=")‍‍print(type(x))‍‍输入‍‍x=1‍‍输出结果是‍
选项:
A: 1
B: int
C: float
D: str
答案: 【 str

10、单选题:
‍x=1​‍y=0​‍print(x/y)​‍结果是​
选项:
A: NaN
B: 错误
C: None
D: null
答案: 【 错误

表达式

1、判断题:
‌a=2‌‌x=(a+1)/2/a‌‌y=(a+1)/2*a‌‌print(x,y)‌‌那么x,y是一样的?‌
选项:
A: 正确
B: 错误
答案: 【 错误

第2章 Python程序语句

for

1、单选题:
‍for i in range(3):‌‍    print(i,end=' ')‌‍print(i)‌‍结果是:‌‍‌
选项:
A: 0 1 2 2
B: 0 1 2 3
C: 0122
D: 0123
答案: 【 0 1 2 2

If

1、判断题:
‍if x>0:‎‍   print(x)‎‍else‎‍   print("Not positive")‎‍正确吗?‎
选项:
A: 正确
B: 错误
答案: 【 错误

while

1、单选题:
‎i=1‌‎while i<10:‌‎    if i%2==0:‌‎        break‌‎print(i)‌‎结果是:‌
选项:
A: 1
B: 2
C: 10
D: 9
答案: 【 2

嵌套

1、单选题:
‎题目:两个兵乓球队进行比赛,各出三人。甲队为a,b,c三人,乙对为x,y,z三人。以抽签决定比赛名单。有向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程找到三队赛手的名单。‍‎for i in range(ord('x'),ord('z') + 1):‍‎    for j in range(ord('x'),ord('z') + 1):‍‎        if i != j:‍‎            for k in range(ord('x'),ord('z') + 1):‍‎                if (i != k) and (j != k):‍‎                    if (__________________________________________):‍‎                        print( 'order is a -- %st b -- %stc -- %s' % (chr(i),chr(j),chr(k)))‍‎‍
选项:
A: i != ord('x')) and (k != ord('x')) and (k != ord('z')
B: i == ord('x')) and (k != ord('x')) and (k != ord('z')
C: i != ord('x')) and (k == ord('x')) and (k != ord('z')
D: i != ord('x')) and (k != ord('x')) and (k == ord('z')
答案: 【 i != ord('x')) and (k != ord('x')) and (k != ord('z')

异常

1、判断题:
‌x=input()‌‌x=int(x)‌‌print(x)‌‌执行时输入3.14,那么会有异常?‌
选项:
A: 正确
B: 错误
答案: 【 正确

测验2

1、单选题:
‏打印出100内所有的偶数,每行5个‌‏j=0‌‏for i in _____________‌‏    print("%4d" %i,end="")‌‏    j=j+1‌‏    if j%5==0:‌‏        print()‌‏缺少的语句是‌
选项:
A:  range(2,102,2):
B:  range(2,100,2):
C:  range(2,101):
D:  range(2,101,2):
答案: 【  range(2,101,2):

2、单选题:
‌题目:判断101-200之间有多少个素数,并输出所有素数。‎‌思路:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。‎‌h = 0‎‌leap = 1‎‌from math import sqrt‎‌from sys import stdout‎‌for m in range(0,201):‎‌    k = int(sqrt(m + 1))‎‌    for i in range(2,k + 1):‎‌        if______:‎‌            leap = 0‎‌            break‎‌    if leap == 1:‎‌        print ('%-4d' % m)‎‌        h += 1‎‌        if h % 10 == 0:‎‌            print ('')‎‌    leap = 1‎‌print ('The total is %d' % h)‎‌‎
选项:
A:  m % i == 1
B:  m % i == 0
C:  i% m == 0
D:  i%m==1
答案: 【  m % i == 0

3、单选题:
‍题目:打印出所有的“水印花数”,所谓“水印花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水印花数”,因为153=1的三次方+5的三次方+3的三次方。 ​‍需求:打印所有“水印数”,例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方​‍思路:利用for循环控制100-999个数,每个数分解出个位,十位,百位。​‍for n in range(100,1000):​‍    i = n // 100 #百位数​‍    _________________ #十位数​‍    k = n % 10  #个位数​‍    if n == i ** 3 + j ** 3 + k ** 3:​‍        print(n)​‍​
选项:
A: j = (n / 10) % 10
B: j = (n // 10) % 10
C: j = (n % 10) % 10
D: j = (n % 10) // 10
答案: 【 j = (n // 10) % 10

4、单选题:
‍题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5.​‍思路:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:​‍    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。​‍    (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。​‍    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。​‍from sys import stdout​‍n = int(input("input number:"))​‍print ("n = %d" % n)​‍for i in range(2,n + 1):​‍    while __________​‍        if n % i == 0:​‍            stdout.write(str(i))​‍            stdout.write("*")​‍            n = n / i​‍        else:​‍            break​‍print( "%d" % n)​‍​
选项:
A: n == i:
B: n != i:
C: n >i:
D: n <i:
答案: 【 n != i:

5、单选题:
‏题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-80分之间的用B表示,60分以下的用C表示。 ‌‏思路:(a>b)?a:b这是条件运算符的基本例子。‌‏score = int(input('input score:'))‌‏if score >= 90:‌‏    grade = 'A'‌‏______________‌‏    grade = 'B'‌‏elif score >= 70:‌‏    grade = 'C'‌‏elif score >= 60:‌‏    grade = 'D'‌‏else:‌‏    grade = 'E'‌‏print ('%d belongs to %s' % (score,grade))‌‏‌
选项:
A: elif score > 80:
B: elif score <= 80:
C: elif score < 80:
D: elif score >= 80:
答案: 【 elif score >= 80:

6、单选题:
‌题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+222...2(此时共有5个数相加),几个数相加有键盘控制。‍‌需求:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。‍‌思路:先计算出每一项的值。‍‌Tn = 0‍‌Sn = []‍‌n = int(input('n = :'))‍‌a = int(input('a = :'))‍‌for count in range(n):#先循环计算每一项的值‍‌    Tn = Tn + a‍‌    _______________‍‌    Sn.append(Tn)‍‌    print Tn‍‌Sn = reduce(lambda x,y : x + y,Sn)#在计算和‍‌print( Sn)‍‌‍
选项:
A: a = a * 10
B: a = a + 10
C: a = a // 10
D: a = a * *10
答案: 【 a = a * 10

7、单选题:
‍题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该书是多少?​‍import math​‍for i in range(10000):​‍    x = int(math.sqrt(i + 100))​‍    y = int(math.sqrt(i + 168))​‍    if ____________________________________:​‍        print(i)​‍​
选项:
A: (x * x == i + 100) and (y * y == i + 168)
B: (x * x = i + 100) and (y * y = i + 168)
C: (x * x == i + 100) && (y * y == i + 168)
D: (x *2 == i + 100) and (y

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注