欢迎光临散文网 会员登陆 & 注册

Python复习题02

2023-06-12 15:00 作者:slilse  | 我要投稿

提示:此文档为Python语言程序设计综合复习题,包括基本数据类型、程序的控制结构、函数和代码复用、组合数据类型。 1. 回文数判断。设n是一任意自然数,如果n的各位数字反向排列所得自然数与n相等,则n被称为回文数。从键盘输入一个数字,请编写程序判断这个数字是不是回文数,若是返回True,否则返回False。 【输入示例】12321 【输出示例】True m = input("请输入数字:") n = [] # 储存m的数 for i in m: n.append(i) n = n[::-1] j = '' for i in n: j = j + i if m == j: print('True') else: print('False') · 2. 素数判断。编写一个函数isPrime(x),接受一个正整数作为参数,并判断该数是否为素数(只能被1和自身整除),若是返回True,否则返回False。 【输入示例】3 【输出示例】True def isPrime(x): j = 0 if x < 3: print('True') else: for i in range(2, x): m = x % i if m == 0: j = j else: j = j + 1 break if j ==0: print('False') else: print('True') 3. 统计字母出现次数。编写一个函数,接受一个字符串作为参数,并统计每个字母出现的次数,然后返回一个字典,字典的键为字母,值为出现的次数。 【输入示例】'abb' 【输出示例】{'a': 1, 'b': 2} inp = input("请输入:") words = [] for i in inp: words.append(i) counts = {} for word in words: counts[word] = counts.get(word, 0) + 1 print(counts) 4. 判断列表是否有重复元素。编写一个函数,接受一个列表作为参数,并判断该列表中是否有重复的元素,若有返回True,否则返回False。 【输入示例】[1,2,3,4,5,3] 【输出示例】True def repeat(ls): m = len(ls) temp = set(ls) n = len(ls) if m == n: print('True') else: print('False') 5. 计算列表中的平均值。给定一个包含数字的列表,请编写程序来计算列表中所有数字的平均值。 【输入示例】[1,2,3,4,5] 【输出示例】3 ls = [1, 2, 3, 4, 5] s = 0 for i in ls: j = int(i) s = s + j p = s / len(ls) print(p) 6. 反转整数。编写一个函数,接受一个整数作为参数,并返回该整数的反转形式。 【输入示例】123 【输出示例】321 m = input("请输入数字:") n = [] # 储存m的数 for i in m: n.append(i) n = n[::-1] for i in n: print(i,end='') 7. 统计字符串中的元音字母个数。从键盘输入一串字符串,统计该字符串中元音字母(a、e、i、o、u)的个数。 【输入示例】'abe' 【输出示例】2 vowel = ['a', 'e', 'i', 'o', 'u'] inp = input("请输入:") s = 0 for i in inp: if i in vowel: s = s + 1 else: continue print(s) 8. 统计水仙花数。“水仙花数”是指一个三位数中各个数位上数字的立方和等于该数本身。例如153是一个水仙花数,因为153=13+53+33。编写程序,计算200到500之间的水仙花数共有多少个。 n = [] def ls(x): global n n = [] for i in x: n.append(i) if __name__ == '__main__': m = 0 for i in range(200,501): i = str(i) ls(i) s = 0 for j in n: j = int(j) s = pow(j, 3) + s i = int(i) if s == i: m = m + 1 else: continue print(m) 9. 字符串分隔打印。获得用户输入的一个字符串(包含空格),将该字符串按照空格分割,并逐行打印。 【输入示例】'Python XYU 666' 【输出示例】Python XYU 666 inp = input("请输入:") for i in inp: ls = inp.split() for i in ls: print(i) 10. ⼀球从100⽶⾼度⾃由落下,每次落地后反跳回原⾼度的⼀半,再落下。 求它在第10次落地时,共经过多少⽶?第10次反弹多⾼? 【输出示例】⼀共经过299.71⽶,第10次反弹的⾼度是0.10。 (提示:注意字符串的格式化输出) a = 100 z = 0 for i in range(0, 10): x = 100 * pow(0.5, i) b = 50 * pow(0.5, i) c = x + b z += c y = 100 * pow(0.5, 10) print("一共经过{:0.2f}米,第10次反弹的高度是{:0.2f}。".format(z, y)) 11. 给定两个正整数a, b (1<=a <= b<=10^5), 请你数出在a到b之间,十个阿拉伯数字分别出现了多少次。比如,当a=11, b=20时,a和b之间的数有[11,12,13,14,15,16,17,18,19,20],那么0-9这10个数出现的次数分别是1,10,2,1,1,1,1,1,1,1。 现在给你a和b,请你输出十个阿拉伯数字分别出现的次数; 分十行输出,第一行表示0出现的次数,第二行表示1出现的次数,....,最后一行表示9出现的次数。 【输入示例】a =11,b =20 【输出示例】1, 10, 2, 1, 1, 1, 1, 1, 1, 1(按行输出) a = 11 b = 20 c = [] d = [] e = [] for i in range(a, b+1): c.append(i) for i in c: i = str(i) for j in i: d.append(j) print(d) for i in range(10): s = 0 i = str(i) s = 0 for j in d: if j == i: s = s + 1 e.append(s) print(e) 12. 给你两个整数a和b(-10000

Python复习题02的评论 (共 条)

分享到微博请遵守国家法律