python练习题
piupiurui
努力的rui~
展开
-
python练习题(五十):一个猜数游戏,判断一个人反应快慢
# 题目:# 时间函数举例4,# 一个猜数游戏,判断一个人反应快慢。import randomimport timeflag = Trueup = 100while flag: play = input("Do you want to play?(y or n):") if play == 'y': print("Start the game!"...原创 2020-03-21 16:46:23 · 825 阅读 · 2 评论 -
python练习题(四十九):有两个磁盘文件A和B,各存放一行字母, 要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中。
# 题目:# 有两个磁盘文件A和B,各存放一行字母,# 要求把这两个文件中的信息合并(按字母顺序排列),# 输出到一个新文件C中。fp1, fp2 = open('test.txt', 'r'), open('test2.txt', 'r')fp1_str, fp2_str = fp1.read(), fp2.read()fp1.close()fp2.close()fp = o...原创 2020-03-21 16:48:51 · 13351 阅读 · 0 评论 -
python练习题(四十八):从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。
# 题目:# 从键盘输入一个字符串,# 将小写字母全部转换成大写字母,# 然后输出到一个磁盘文件"test"中保存。fp = open('test.txt', 'w')a_str = input("请写入字符串:")fp.write(a_str.upper())fp = open('test.txt', 'r')print(fp.read())fp.close()运行结果...原创 2020-03-21 16:48:42 · 30950 阅读 · 0 评论 -
python练习题(四十七):从键盘输入一些字符,逐个把它们写到磁盘文件上, 直到输入一个 # 为止。
# 题目:# 从键盘输入一些字符,# 逐个把它们写到磁盘文件上,# 直到输入一个 # 为止。filename = input("请输入文件名:")fp = open(filename, 'w')ch = input("请写入字符串:")while ch != '#': fp.write(ch) ch = input()fp.close()...原创 2020-03-21 16:48:32 · 13441 阅读 · 0 评论 -
python练习题(四十五):四位的整数加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
# 题目:# 某个公司采用公用电话传递数据,# 数据是四位的整数,在传递过程中是加密的,# 加密规则如下:# 每位数字都加上5,# 然后用和除以10的余数代替该数字,# 再将第一位和第四位交换,第二位和第三位交换。a = input("请输入四位数字:")a_list = []for i in range(4): a_list.append(int(a[i]))fo...原创 2020-03-21 14:58:40 · 10529 阅读 · 1 评论 -
python练习题(四十四):输入一个奇数,然后判断最少几个 9 除以该数的结果为整数。
# 题目:# 输入一个奇数,然后判断最少几个 9 除以该数的结果为整数。a = int(input("请输入一个奇数(个位数字不能为5):"))b = 9n_sum = bn = 1while True: if n_sum % a == 0: print("最少 %d 个9除以 %d 的结果为整数" % (n, a)) break n...原创 2020-03-21 14:40:02 · 1682 阅读 · 1 评论 -
python练习题(四十六):求0—7所能组成的奇数个数
# 题目:求0—7所能组成的奇数个数。# 题目分析:# 奇数可以是1位数、2位数、3位数......8位数;# 最高位数不能为0,即最高位有7种情况;# 若是奇数,个位只能是1,3,5,7四个数字,即1位数时,有4个奇数。n = 4n_sum = 4for i in range(2, 9): if i <= 2: n *= 7 else:...原创 2020-03-21 16:48:11 · 7684 阅读 · 1 评论 -
python练习题(四十三):八进制转换为十进制
# 题目:八进制转换为十进制a = input("请输入一个八进制数:")n = 0for i in range(len(a)): n = 8 * n + int(a[i])print(n)运行结果:原创 2020-03-21 10:21:28 · 2882 阅读 · 1 评论 -
python练习题(四十二):809*??=800*??+9*?? 其中??代表两位数, 809*??为四位数,8*??为两位数,9*??为3位数。求??代表的两位数,及809*??后的结果?
# 题目:# 809*??=800*??+9*?? 其中??代表一个两位数,# 809*??为四位数,# 8*??的结果为两位数,# 9*??的结果为3位数。# 求??代表的两位数,及809*??后的结果。for i in range(10, 100): if (809 * i <= 10000) \ and (8 * i < 100) \...原创 2020-03-21 09:57:24 · 3378 阅读 · 0 评论 -
python练习题(四十一):五只猴子分依次桃子,每只猴子都将桃子分为五份, 多一个, 将多出的扔掉,拿走一份,求原来最少有多少个桃子?
# 题目:# 海滩上有一堆桃子,五只猴子来分。# 第一只猴子把桃子平均分为五份,多了一个,猴子把多的一个扔入海中,拿走了一份。# 第二只猴子把剩下的桃子又平均分成五份,又多了一个,同样把多的一个扔入海中,拿走了一份,# 第三、第四、第五只猴子都是这样做的,# 问海滩上原来最少有多少个桃子?a = 0while True: # 第五个猴子至少拿走了一个桃子 n_su...原创 2020-03-21 09:38:24 · 1333 阅读 · 0 评论 -
python练习题(四十):编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,输入n为奇数时,调用函数求1/1+1/3+...+1/n。
# 题目:# 编写一个函数,# 输入n为偶数时,调用函数求1/2+1/4+...+1/n,# 输入n为奇数时,调用函数求1/1+1/3+...+1/n。def a_sum(n): n_sum = 0 for i in range(1, int(n / 2 + 1)): n_sum += 1 / (2 * i) return n_sumdef b...原创 2020-03-20 10:18:37 · 10304 阅读 · 1 评论 -
python练习题(三十九):列表排序及连接。
# 题目:列表排序及连接。a_list = [4, 2, 3, 1, 5]b_list = [7, 9, 8]print(a_list + b_list)a_list.sort()print(a_list)a_list.extend(b_list)print(a_list)运行结果:原创 2020-03-20 10:04:21 · 306 阅读 · 0 评论 -
python练习题(三十八):编写input()和output()函数, 输入,输出n个学生的数据记录。
# 题目:# 编写input()和output()函数,# 输入,输出n个学生的数据记录。student_list = []def std_input(): name = input("student name:") number = input("student number:") score = input("student score:") stu...原创 2020-03-20 09:54:19 · 4091 阅读 · 2 评论 -
python练习题(三十七):一个最优美的图案
# 题目:一个最优美的图案。import numpy as npimport mathfrom tkinter import *root = Tk()root.title('一个优美的图案')canvas = Canvas(root, width=620, height=620, bg='white')canvas.create_oval(10, 10, 610, 610)n...原创 2020-03-19 20:58:18 · 622 阅读 · 0 评论 -
python练习题(三十六):有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
# 题目:# 有n个人围成一圈,顺序排号。# 从第一个人开始报数(从1到3报数),# 凡报到3的人退出圈子,# 问最后留下的是原来第几号的那位。n = int(input("请输入总人数:"))n_list = []a = -1flag = Truefor i in range(1, n + 1): n_list.append(i)while flag: ...原创 2020-03-19 19:40:04 · 7450 阅读 · 0 评论 -
python练习题(三十五):ellipse和rectangle画图
# 题目:ellipse和rectangle画图。from tkinter import *root = Tk()root.title('ellipse和rectangle画图')canvas = Canvas(root, width=500, height=500, bg='white')n = 9rectangle_w, rectangle_h = 10, 230a = 0...原创 2020-03-19 17:57:14 · 613 阅读 · 0 评论 -
python练习题(三十四):画椭圆组
# 题目:画椭圆组。from tkinter import *root = Tk()root.title('椭圆组')canvas = Canvas(root, width=500, height=500, bg='white')x0, y0, x1, y1 = 150, 350, 350, 150for i in range(8): canvas.create_oval...原创 2020-03-19 16:50:10 · 225 阅读 · 0 评论 -
python练习题(三十三):查找字符串。
# 查找字符串。a_str = 'sdfuiasbfwieubfiu'print("完整字符串:%s" % a_str)b_str = input("请输入需要查找的字符串:")print(a_str.find(b_str))运行结果:原创 2020-03-19 16:32:55 · 176 阅读 · 0 评论 -
python练习题(三十二):指定行数居中打印出杨辉三角形
# 题目:指定行数居中打印出杨辉三角形n = int(input("请输入行数:"))i_list = [1]str_list = []for i in range(1, n + 1): if i == 1: str_list.append(' '.join(str(a) for a in i_list)) else: ii_list =...原创 2020-03-19 16:24:22 · 2653 阅读 · 0 评论 -
python练习题(三十一):用rectangle画方形
# 用rectangle画方形。from tkinter import *root = Tk()root.title('rectangle')canvas = Canvas(root, width=500, height=500, bg='yellow')canvas.pack()x0, y0, x1, y1 = 200, 200, 300, 300for i in range...原创 2020-03-19 14:27:41 · 809 阅读 · 0 评论 -
python练习题(三十):用line画直线
# 用line画直线。from tkinter import *class Line: def __init__(self): canvas = Canvas(width=500, height=500, bg='yellow') canvas.pack() x0, y0, x1, y1 = 10, 10, 500, 500 ...原创 2020-03-19 11:42:23 · 921 阅读 · 0 评论 -
python练习题(二十九):用circle画圆形
# 题目:用circle画圆形。from tkinter import *canvas = Canvas(width=500, height=500, bg='yellow')canvas.pack(expand=YES, fill=BOTH)k, j = 10, 10for i in range(10): canvas.create_oval(250 - k, 250 -...原创 2020-03-19 11:07:25 · 2250 阅读 · 0 评论 -
python练习题(二十八):按位取反~
# 题目:按位取反~a = int(input("请输入一个数字:"))aa = ~aprint(aa)print("{0:b}".format(aa))运行结果:原创 2020-03-19 10:25:35 · 294 阅读 · 0 评论 -
python练习题(二十七):取一个整数a从右端开始的4〜7位
# 题目:取一个整数a从右端开始的4〜7位。a = int(input("请输入一个数字:"))aa = a >> 4b = ~(~0 << 4) # b=00001111c = aa & bprint("{0:b}".format(c))运行结果:...原创 2020-03-19 10:15:14 · 2293 阅读 · 1 评论 -
python练习题(二十六):题目:有一个已经排好序的数组。现每输入一个数,都按原来的规律将它插入数组中。
# 题目:# 有一个已经排好序的数组。# 现每输入一个数,都按原来的规律将它插入数组中。sort_list = [3, 9]print("原列表:", end='')print(sort_list)print('-' * 50)def re_sort(a): sort_list.append(a) list_len = len(sort_list) if...原创 2020-03-18 10:43:28 · 4920 阅读 · 0 评论 -
python练习题(二十五):对n个数进行排序(快速排序算法)
# 题目:对n个数进行排序(快速排序算法)def fast_sort(x, x_list): i, j, r = -1, 0, x - 1 while True: if j == r: x_list[i + 1], x_list[r] = x_list[r], x_list[i + 1] if r != 1 an...原创 2020-03-18 09:41:02 · 2340 阅读 · 0 评论 -
python练习题(二十四):按逗号分隔列表
# 题目:按逗号分隔列表。a_list = [1, 2, 3, 4, 5, 6]print(','.join(str(n) for n in a_list))运行结果:原创 2020-03-17 20:48:03 · 1486 阅读 · 0 评论 -
python练习题(二十三):一个n位数,判断它是不是回文数
# 题目:# 一个n位数,判断它是不是回文数。# 即12321是回文数,个位与万位相同,十位与千位相同。a = input("请输入一个整数:")flag = Truefor i in range(int(len(a)/2)): if a[i] != a[len(a) - i - 1]: flag = Falseif flag: print("%d是一...原创 2020-03-17 18:02:14 · 852 阅读 · 1 评论 -
python练习题(二十二):利用递归函数调用方式,将所输入的n个字符,以相反顺序打印出来
# 题目:# 利用递归函数调用方式,将所输入的n个字符,以相反顺序打印出来def reverse(p_str): l = len(p_str) if l == 0: return print(p_str[l - 1]) reverse(p_str[:l - 1])pos_str = input("请输入n个字符:")reverse(p...原创 2020-03-17 17:31:11 · 5668 阅读 · 0 评论 -
python练习题(二十一):利用递归方法求n!
# 题目:利用递归方法求n!def factorial(x): if x == 0: return 1 else: return x * factorial(x - 1)n = int(input("请输入n = "))print("n! = %d" % factorial(n))运行结果:...原创 2020-03-17 17:12:06 · 9930 阅读 · 1 评论 -
python练习题(二十):求1+2!+3!+...+n!的和
# 题目:求1+2!+3!+...+n!的和def factorial(x): fac = 1 for i in range(1, x + 1): fac *= i return facn = int(input("请输入正整数n = "))print("和为 %d" % sum(map(factorial, range(1, n + 1)))...原创 2020-03-17 17:05:09 · 13015 阅读 · 1 评论 -
python练习题(十九):有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前n项之和
# 题目:# 有一分数序列:# 2/1,3/2,5/3,8/5,13/8,21/13...# 求出这个数列的前n项之和n = int(input("请输入求和项数:"))n_sum = 0 # 记录前n项和a = 1 # 分母b = 2 # 分子for i in range(n): n_sum += b / a a, b = b, a + bprin...原创 2020-03-17 16:39:37 · 20663 阅读 · 1 评论 -
python练习题(十八):打印出指定高度的菱形
# 题目:打印出指定高度的菱形while True: height = int(input("指定菱形高度(请输入一个大于1的奇数):")) if height <= 1 or height % 2 == 0: print("请输入一个大于1的奇数!") else: width_list = [1] # 用列表存放菱形每层的...原创 2020-03-17 15:51:02 · 876 阅读 · 0 评论 -
python练习题(十七):两个乒乓球队各出三人比赛。甲队a,b,c三人,乙队x,y,z三人。已抽签决定比赛名单。a不和x比,c不和x,z比,请编程序找出三队赛手名单
在前声明:此处程序参考 菜鸟教程代码:# 题目:# 两个乒乓球队进行比赛,各出三人。# 甲队为a,b,c三人,乙队为x,y,z三人。# 已抽签决定比赛名单。# 有人向队员打听比赛的名单。# a说他不和x比,c说他不和x,z比,# 请编程序找出三队赛手的名单。for i in range(ord('x'), ord('z') + 1): for j in range(or...原创 2020-03-17 15:11:16 · 4275 阅读 · 2 评论 -
python练习题(十六):猴子吃桃问题
# 题目:# 猴子吃桃问题:# 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;# 第二天早上又将剩下的桃子吃掉一半,又多吃了一个;# 以后每天早上都吃了前一天剩下的一半零一个;# 到第10天早上想再吃时,见只剩下一个桃子了;# 求第一天共摘了多少。# 第十天剩一个桃子peach_sum = 1for i in range(9): peach_sum =...原创 2020-03-17 14:03:05 · 11961 阅读 · 0 评论 -
python练习题(十五):一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
# 题目:# 一球从100米高度自由落下,每次落地后反跳回原高度的一半,# 再落下,# 求它在第10次落地时,共经过多少米?第10次反弹多高?times = 10height_sum = 100height_list = [100] # 第一次落下的高度为height_list[0]=100米for i in range(1, times): # 每次下落的高度均为上次高...原创 2020-03-17 11:50:18 · 8049 阅读 · 0 评论 -
python练习题(十四):找出1000以内的所有完数
# 题目:# 一个数如果恰好等于它的因子之和,这个数就称为"完数"。# 例如6=1+2+3.# 编程找出1000以内的所有完数。from functools import reducefor i in range(2, 1001): a_list = [1] for j in range(2, i): if i % j == 0: ...原创 2020-03-17 10:25:19 · 4831 阅读 · 0 评论 -
python练习题(十三):求s=a+aa+aaa+aaaa+aa...a的值
# 题目:# 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。# 例如2+22+222+2222+22222(此时共有5个数相加),# 几个数相加由键盘控制a = int(input("请输入数字:"))b = int(input("请输入相加个数:"))aa, aa_sum = 0, 0for i in range(1, b+1): aa += a ...原创 2020-03-16 21:16:32 · 26615 阅读 · 0 评论 -
python练习题(十二):输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
代码:# 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。input_str = input("请输入一行字符:")# str_list分别记录英文字母、空格、数字和其它字符的个数str_list = [0, 0, 0, 0]for i in input_str: if i.isalpha(): str_list[0] += 1 ...原创 2020-03-16 20:41:03 · 5110 阅读 · 0 评论 -
python练习题(十一):将一个正整数分解质因数
题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。代码:# 题目:将一个正整数分解质因数。# 例如:输入90,打印出90=2*3*3*5。def dec(n): flag = True a_list = [] f = n while flag: if n == 1: a_list.appen...原创 2020-03-16 16:54:54 · 2967 阅读 · 0 评论