python程序与设计 练习一:

1.用户输入一个列表和两个整数作为下标,然后使用切片获取并输出列表中结余两个下标之间的元素组成的子列表。例如,用户输入 [1,2,3,4,5,6]和2,5,程序输出[3,4,5]
x = int(input(“输入下标下限:”))
y = int(input(“输入下标上线:”))
z = list(input(“输入一个列表,行同[1,2,3,4,5,6]”))
print(z[x:y:1])
【输出】
输入:2
输入:5
输入一个列表,行同[1,2,3,4,5,6]

2.【代码题】
num = 10
if num<0 or num > 10:
print (‘hello’)
else:
print (‘undefine’)
【输出】undefine

3.【代码题】
d={‘abc’:1, ‘qwe’:2,‘Zxc’:3}
print(len(d))
【输出】3

4.【填空题】
面向对象程序设计中,对象与对象之间的通信机制是
【答案】消息

5.【填空题】
查看变量内存地址的Python内置函数是
1.用户输入一个列表和两个整数作为下标,然后使用切片获取并输出列表中结余两个下标之间的元素组成的子列表。例如,用户输入 [1,2,3,4,5,6]和2,5,程序输出[3,4,5]
x = int(input(“输入下标下限:”))
y = int(input(“输入下标上线:”))
z = list(input(“输入一个列表,行同[1,2,3,4,5,6]”))
print(z[x:y:1])
【输出】
输入:2
输入:5
输入一个列表,行同[1,2,3,4,5,6]

2.【代码题】
num = 10
if num<0 or num > 10:
print (‘hello’)
else:
print (‘undefine’)
【输出】undefine

3.【代码题】
d={‘abc’:1, ‘qwe’:2,‘Zxc’:3}
print(len(d))
【输出】3

4.【填空题】
面向对象程序设计中,对象与对象之间的通信机制是
【答案】消息

5.【填空题】
查看变量内存地址的Python内置函数是
【答案】id()

6.【判断题】
已知x为非空列表,那么表达式sorted(x, reverse=True)== list(reversed(x))的值一定是True。
【答案】×

7.【判断题】
在Python中可以为自定义类的对象动态增加新成员。
【答案】√

8.【代码题】输入1,2,3,4,5程序执行结果是:
a=[]
for i in range(0,5):
a.append(input(“请输入:”))
print(a)
【输出】[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]

9.【代码题】
print(list(map(str,[1,2,3])))的执行结果为
【输出】[‘1’, ‘2’, ‘3’]

10.【代码题】
有家电影院根据观众的年龄收取不同的票价:不到3岁的观众免费; 3~12岁的观众为10美元;超过12岁的观众为15美元。请编写一个循环,在其中询问用户的年龄,指出其票价。

'''【解题】'''
prompt = ""
prompt += ""
while True :
  age = input(prompt)
  if age == 'quit':
    break
  else:
      age=int(age)
      if age<3:
          print("free")
      elif (age>=3 and age<=12):
          print("$10")
      else:
          print("$15")

11.【单选题】
以下可以终结一个循环的执行的语句是
【答案】break

12.【填空题】
python是否支持switch语句?如何实现多条件判断?
【答案】不支持 使用elif实现

13.【代码题】
dict = {‘Name’: ‘Zara’, ‘Age’: 7, ‘Class’: ‘First’};
print(“dict[‘Name’]:”,dict[‘Name’]);
【输出】dict[‘Name’]: Zara

14.【代码题】编写函数,判断一个整数是否为素数,并编写主程序调用该函数。

'''【解题】'''
import math
def IsPrime(v):
    n = int(math.sqrt(v)+1)
    for i in range(2,n):
        if v % i == 0:
            return 'No'
        else:
            return 'Yes'
print(IsPrime(20))

15.【单选题】在函数内部可以通过关键字( )来定义全局变量。
【答案】global

16.【单选题】以下不能作为字典的key的是哪一个选项?
【答案】123

17.【代码题】控制台接收特价商品数组,存储5件商品名称,在控制台显示特价商品名称

'''【解题】'''
def showProduct(product):
    #start
    for x in range(0, 5):
        print(product[x])
    #end
product=[]
for x in range(1,6):
    product.append(input())
showProduct(product)

18.【代码题】设计一个字典,并编写程序,用户输入内容作为键,然后输出字典中对应的值,如果用户输入的键不存在,则输出
“您输入的键不存在!”

'''【解题】'''
d = {
     1:'a', 2:'b', 3:'c', 4:'d'}
v = input()
for x in d.keys():
    if v.strip()==str(x):
        print(d.get(int(v)))
        break
    elif x==len(d.keys())-1:
        print("key is not exist")

19.【代码题】定义一个函数,求两个数相除和取模结果

'''【解题】'''
def fun(a,b):
    c= a/b
    d=a%b
    d=float('%.1f' % d)	
    return (c,d)
a=int(input())
b=int(input())
print(fun(a,b))

20.【代码题】编写函数,判断一个整数是否为素数,并编写主程序调用该函数

'''【解题】'''
import math
def IsPrime(v):
    n = int(math.sqrt(v)+1)
    for i in range(2,n):
        if v%i==0:
            return 'No'
        else:
            return 'Yes'
num=int(input())
print(IsPrime(num))

21.【代码题】

'''【解题】'''
def age(n,a):
    if n == 1: c = a
    else: c = age(n - 1,a) + 2
    return c
a=int(input())
print (age(5,a))

22.【代码题】分别编写求两个整数的最大公约数的函数hef和求最小公倍数的函数led。主函数已给出,其从键盘接收两个整数,调用这两个函数后输出结果。
(提示:求最大公约数可用辗转相除法。即将大数作为被除数,小数作为除数,若二者余数不为0,则将小数作为
被除数,余数作为除数,…直到余数为0。求最小公倍数则用两数的积除以最大公约数即可。

'''【解题】'''
def hcf(u,v):
    global a
    if u % v == 0:
        a = v
    else:
        m=u%v
        n=v
        hcf(n,m)
    return a
def lcd(u, v, h):
    return u * v / h
def main():
    #print(" 【请连续三次求得输入的两个整数最大公约数和最小公倍数:】")
    #for n in range(3):
        #print(" 【第%d次:】"%(n+1))
        u=int(input())
        v=int(input())
        h=int(hcf(u,v))
        print("the greatest common divisor of {0} and {1} is {2}".format(u,v,h))
        l=int(lcd(u,v,h))
        print("the least common multiple of {0} and {1} is {2}".format(u,v,l))
if __name__ =='__main__':
    main()

23.【代码题】定义函数calAvg(),计算某三门课程的平均分(函数参数为某门课成绩对应的列表名,返回值为该门课的平均分)

'''【解题】'''
import math
def claAvg():
    a = float(input())
    b = float(input())
    c = float(input())
    d = (a+b+c)/3.0
    print(d)
claAvg()

6.【判断题】
已知x为非空列表,那么表达式sorted(x, reverse=True)== list(reversed(x))的值一定是True。
【答案】×

7.【判断题】
在Python中可以为自定义类的对象动态增加新成员。
【答案】√

8.【代码题】输入1,2,3,4,5程序执行结果是:
a=[]
for i in range(0,5):
a.append(input(“请输入:”))
print(a)
【输出】[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]

9.【代码题】
print(list(map(str,[1,2,3])))的执行结果为
【输出】[‘1’, ‘2’, ‘3’]

10.【代码题】
有家电影院根据观众的年龄收取不同的票价:不到3岁的观众免费; 3~12岁的观众为10美元;超过12岁的观众为15美元。请编写一个循环,在其中询问用户的年龄,指出其票价。

'''【解题】'''
prompt = ""
prompt += ""
while True :
  age = input(prompt)
  if age == 'quit':
    break
  else:
      age=int(age)
      if age<3:
          print("free")
      elif (age>=3 and age<=12):
          print("$10")
      else:
          print("$15")

11.【单选题】
以下可以终结一个循环的执行的语句是
【答案】break

12.【填空题】
python是否支持switch语句?如何实现多条件判断?
【答案】不支持 使用elif实现

13.【代码题】
dict = {‘Name’: ‘Zara’, ‘Age’: 7, ‘Class’: ‘First’};
print(“dict[‘Name’]:”,dict[‘Name’]);
【输出】dict[‘Name’]: Zara

14.【代码题】编写函数,判断一个整数是否为素数,并编写主程序调用该函数。

'''【解题】'''
import math
def IsPrime(v):
    n = int(math.sqrt(v)+1)
    for i in range(2,n):
        if v % i == 0:
            return 'No'
        else:
            return 'Yes'
print(IsPrime(20))

15.【单选题】在函数内部可以通过关键字( )来定义全局变量。
【答案】global

16.【单选题】以下不能作为字典的key的是哪一个选项?
【答案】123

17.【代码题】控制台接收特价商品数组,存储5件商品名称,在控制台显示特价商品名称

'''【解题】'''
def showProduct(product):
    #start
    for x in range(0, 5):
        print(product[x])
    #end
product=[]
for x in range(1,6):
    product.append(input())
showProduct(product)

18.【代码题】设计一个字典,并编写程序,用户输入内容作为键,然后输出字典中对应的值,如果用户输入的键不存在,则输出
“您输入的键不存在!”

'''【解题】'''
d = {
     1:'a', 2:'b', 3:'c', 4:'d'}
v = input()
for x in d.keys():
    if v.strip()==str(x):
        print(d.get(int(v)))
        break
    elif x==len(d.keys())-1:
        print("key is not exist")

19.【代码题】定义一个函数,求两个数相除和取模结果

'''【解题】'''
def fun(a,b):
    c= a/b
    d=a%b
    d=float('%.1f' % d)	
    return (c,d)
a=int(input())
b=int(input())
print(fun(a,b))

20.【代码题】编写函数,判断一个整数是否为素数,并编写主程序调用该函数

'''【解题】'''
import math
def IsPrime(v):
    n = int(math.sqrt(v)+1)
    for i in range(2,n):
        if v%i==0:
            return 'No'
        else:
            return 'Yes'
num=int(input())
print(IsPrime(num))

21.【代码题】

'''【解题】'''
def age(n,a):
    if n == 1: c = a
    else: c = age(n - 1,a) + 2
    return c
a=int(input())
print (age(5,a))

22.【代码题】分别编写求两个整数的最大公约数的函数hef和求最小公倍数的函数led。主函数已给出,其从键盘接收两个整数,调用这两个函数后输出结果。
(提示:求最大公约数可用辗转相除法。即将大数作为被除数,小数作为除数,若二者余数不为0,则将小数作为被除数,余数作为除数,…直到余数为0。求最小公倍数则用两数的积除以最大公约数即可。

'''【解题】'''
def hcf(u,v):
    global a
    if u % v == 0:
        a = v
    else:
        m=u%v
        n=v
        hcf(n,m)
    return a
def lcd(u, v, h):
    return u * v / h
def main():
    #print(" 【请连续三次求得输入的两个整数最大公约数和最小公倍数:】")
    #for n in range(3):
        #print(" 【第%d次:】"%(n+1))
        u=int(input())
        v=int(input())
        h=int(hcf(u,v))
        print("the greatest common divisor of {0} and {1} is {2}".format(u,v,h))
        l=int(lcd(u,v,h))
        print("the least common multiple of {0} and {1} is {2}".format(u,v,l))
if __name__ =='__main__':
    main()

23.【代码题】定义函数calAvg(),计算某三门课程的平均分(函数参数为某门课成绩对应的列表名,返回值为该门课的平均分)

'''【解题】'''
import math
def claAvg():
    a = float(input())
    b = float(input())
    c = float(input())
    d = (a+b+c)/3.0
    print(d)
claAvg()

你可能感兴趣的:(练习题,python)