《Python语言程序设计》王恺 王志 机械工业出版社 第二章 Python的基础语法 课后习题答案

2.7 课后习题
(1)变量是指在程序运行讨程中值可以发生改变的量

(2)已知s="Python语言程序设计”,则print(s[2:4])的输出结果为th,print(s[-4:-2])的输出结果为程序

(3)已知 t=(3.5,2,'abcd' ,4+5j,True,[3,3.5],5.3),print(t[3])的输出结果为4+5j,print(t[-3])的输出结果为True

(4)10/4的结果为2.5,10//4的结果为2,10%4的结果为2,10**4的结果为10000

(5)已知x=50,则10<=x and x<=30的结果为False

(6)已知x,y=4,5,则x|y的结果为5,x^y的结果为1

(7)下面选项中,正确的变量名是(C)

         A.2sum         B.for         C.圆面积2          D.it is

(8)执行Python语句“name,age='张三',20”之后,下面说法正确的是(C)

        A.name的值为“张三”,age的值为20,两个变量的类型不一定 

        B.程序报错,因为两个变量没有定义,不能直接赋值

        C.定义两个变量,name是字符串类型,值为“张三”,age是整型,值为20

        D.不能同时给两个变量赋值,程序报错

(9)已知语句:a,b,c=12,0o12,0x12,则 print(a,b,c)的输出结果是(A)

         A.12 10 18          B.12 12 12          C.10 8 6           D.12 18 10

(10)已知a={10,2.5, 'test',3+4j, True, 5.3,2.5},则 print(a)的输出结果是(B)

         A.{10,2.5, 'test',3+4j,True,5.3,2.5}                  B.{True,2.5,5.3,10,3+4j, 'test'}

         C.10 2.5 'test' 3+4j True 5.3 2.5                     D. True 2.5 5.3 10 3+4j 'test'

(11)print("姓名:%5s,年龄:%5d,成绩:%6.2f"%("tom",19,86.5))的输出结果是(D)(注:选项中口表示一个空格)

         A.姓名:tom,年龄:19,成绩:86.5           

         B.姓名:tom口口,年龄:19口口口,成绩:86.50口

         C.姓名:口口 tom,年龄:口口口19,成绩:86.5

         D.姓名: 口口tom,年龄:口口口19,成绩:口86.50

(12)已知x,y=10,[10,20,30],则x is y和x in y的结果分别为(D)

          A. True True          B. False False          C.True False            D. False True

(13)写出下面程序的运行结果

s1,s2="abc","def"
z1,z2=[1,2,"zhang"],[2.2,3.3,"wang"]
x1=[1,2.5,'test',3+4j,True,[3,1.63],5.3]
print(s1+s2)
print(z1+z2)
print(s1*3)
print(z1[:])
print(x1[:3])
print(x1[3:-1])
 
 
#输出结果
abcdef
[1, 2, 'zhang', 2.2, 3.3, 'wang']
abcabcabc
[1, 2, 'zhang']
[1, 2.5, 'test']
[(3+4j), True, [3, 1.63]]
(14)1已知程序段的功能是用户输入数字1~7,输出对应的星期几的字符串,如输入4,输出星期四。请将程序填写完整

week="星期一星期二星期三星期四星期五星期六星期日"
n=eval(input("请输入星期数字(1~7)"))
pos=(n-1)*3
print(week[pos:pos+3])
(15)通过设置条件,可以使某些语句在条件满足时才会执行

(16)通过循环,可以使得某些语句重复执行多次

(17)下面的程序段循环次数为11,循环结束后i的值为-1

i=10
while i>=0:
    i-=1
print(i)
(18)已知程序段:

score=eval(input('请输入成绩(0-100之间的整数):'))
if score<60:
    print('不及格')
elif score<70:
    print('及格')
elif score<80:
    print('中等')
elif score<90:
    print('良好')
elif score<=100:
    print('优秀')
若输入77,则输出结果为中等

(19)已知程序段:

score=eval(input('请输入成绩(0-100之间的整数):'))
if score<60:
    print('你的成绩是%d'%score)
print('不及格')
若输入55,则输出结果是(A)

A.你的成绩是55

    不及格

B.你的成绩是55

C.不及格

D.无输出

(20)已知程序段:

score=eval(input('请输入成绩(0-100之间的整数):'))
if score>=60:
    pass
else:
    print('不及格')
若输入55,则输出结果是(B)

A.无输出

B.不及格

C.pass

D.c程序报错

(21)已知程序段:

n=eval(input('请输入一个整数:'))
if n%2==0:
    print("偶数")
else:
    print("奇数")
若输入-5,则输出结果是(B)

A.无输出

B.奇数

C.偶数

D.偶数

    奇数

(22)已知语句段:

d={'Python':1,'C++':2,'Java':3}
for k in d:
    print('%s:%d'%(k,d[k]))
则输出结果是(C)

A.Python

   C++

    Java

B.1:Python

    2:C++

    3:Java

C.Python:1

   C++:2

   Java:3

D.以上都不对

(23)下面程序段的输出结果是(D)

ls=['Python','C++','Java']
for k,v in enumerate(ls,3):
    print(k,v)
A.Python

   C++

    Java

B.1 Python

    2 C++

    3 Java

C.Python 1

   C++ 2

   Java 3

D.3 Python

    4 C++

    5 Java

(24)已知程序段的功能是用户输入数字n,利用for循环求n!。请将程序填写完整

n=eval(input('请输入一个大于0的整数:'))
s=1
for i in range(1,n+1):
    s=s*i
print(s)
 (25)下面程序的功能是求100以内能被7整除的最大整数,请将程序填写完整

n=100
while n>=0:
    if n%7==0:
        print(n)
        break
    n-=1
(26)判断素数的程序,请将程序填写完整

for n in range(2,101):
    m=int(n**0.5)
    i=2
    while i<=m:
        if n%i==0:
            break
        i+=1
    if i>m:
        print(n,end=' ')
(27)水仙花数是3位整数(100~999),它的各位数字立方和等于该数本身。下面的程序求水仙花数,请写出程序运行结果

for n in range(100,1000):
    bai=n//100
    shi=n//10%10
    ge=n%10
    if bai**3+shi**3+ge**3==n:
        print(n)
 
 
#输出结果
153
370
371
407
(28) 下面的程序输出九九乘法表,请将程序补充完整

for i in range(1,10):
    for j in range(1,i+1):
        print(j,"*",i,"=",i*j,end='  ')
    print('\n')
 

猜你喜欢

转载自blog.csdn.net/weixin_49647262/article/details/122027998