python练习题
1 #1.温度的转换 2 a = float(input('请输入华氏温度')) 3 b = (a - 32) /1.8 4 print('%.1f华氏度=%.1f摄氏度' %(a,b)) 5 6 #2.根据半径求圆的周长和面积 7 a = float(input('输入半径')) 8 s = 3.14*a*a 9 c = 3.14*2*a 10 print('以半径为%f的圆周长为%f面积为%f' %(a,c,s)) 11 12 #3.判断是否为闰年 13 year = int(input('输入年份')) 14 a = year % 4 == 0 and year %100 != 0 or year % 400 == 0 15 print(a) 16 17 #4.身份验证 18 username = input('输入用户名') 19 passward = input('输入用户密码') 20 if username == 'uriel' and passward == '123456' : 21 print('验证成功') 22 else: 23 print('验证失败') 24 25 #5.英制与公制单位换算 26 unit = input('输入单位类型:') 27 value = float(input('输入数值:')) 28 if unit == '英国' or unit == 'english': 29 print('%.2f英制 = %.2f公制' %(value,value * 2.54)) 30 elif unit == '公制' or unit == 'china': 31 print('%.2f公制 = %.2f英制' %(value, value/2.54)) 32 else: 33 print('单位类型错误!') 34 35 #6.百分制转化为等级制 36 value = float(input('输入分数:')) 37 if value <= 100 and value >= 80: 38 print('优秀') 39 elif value < 80 and value >= 60: 40 print('良好') 41 elif value < 60 and value >= 0: 42 print('不及格') 43 else : 44 print('输入的成绩不在0 ~ 100 中!') 45 46 #7.判断三条边能否构成三角形,若能计算周长和面积 47 print('输入三条边的长度:') 48 a = float(input('a :')) 49 b = float(input('b :')) 50 c = float(input('c :')) 51 if a + b > c and a + c > b and b + c > a: 52 p = a + b + c 53 acre = p *(p -a)*(p - b)*(p - c)**0.5 54 print('该三条边可以构成三角形') 55 print('三角形的周长为:%f' %p) 56 print('三角形面积为:%f'%acre) 57 else: 58 print('这三条边不能构成三角形') 59 60 #8.猜数游戏 61 import random 62 answer = random.randint(1, 100) 63 counter = 0 64 while True: 65 user_digiter = int(input('输入数值:')) 66 counter += 1 67 if answer > user_digiter: 68 print( '你猜的数小了,请继续!' ) 69 elif answer < user_digiter: 70 print('你猜的数大了,请继续!') 71 elif answer == user_digiter: 72 print('恭喜你,猜对了!') 73 print('你输入%d次猜中了答案。'%counter) 74 break 75 if counter < 5: 76 print('你做得很棒,你的智商很高') 77 else : 78 print('你的智商有待加强!') 79 80 #9.九九乘法表 81 a = [1, 2, 3, 4, 5, 6, 7, 8, 9] 82 for i in a: 83 for m in a: 84 max = i * m 85 print('%d X %d = %d'%(i, m, max)) 86 87 #10.判断是否为素数 88 number = int(input('输入一个正数:')) 89 a = 2 90 for i in range(2 , number - 1): 91 if number % i == 0 : 92 a = 1 93 if a == 1: 94 print('%d不是素数'%number) 95 else: 96 print('%d是素数'%number) 97 98 #11.计算两个正数的最大公约数和最小公倍数 99 n1 = int(input('输入第一个数:')) 100 n2 = int(input('输入第二个数:')) 101 if n1 > n2: 102 n1 , n2 = n2 , n1 103 for i in range(n1 , 0 , -1): 104 if n1 % i == 0 and n2 % i == 0: 105 print('%d和%d的最大公约数是%d'%(n1, n2, i)) 106 print('%d和%d的最小公倍数是%d'%(n1,n2,n1*n2//i)) 107 break 108 109 #12.水仙花数 110 print('水仙花数有:') 111 for i in range(100, 1000) : 112 m = i // 100 113 n = i % 100 //10 114 l = i % 10 115 if i == m*m*m + n*n*n + l*l*l: 116 print(i) 117 118 #13.百钱百鸡 119 for a in range(1,20): 120 for b in range(1,33): 121 for c in range(3,99): 122 if a * 5 + b * 3 + c / 3 ==100 and a + b + c ==100: 123 print('公鸡%d只'%a) 124 print('母鸡%d只'%b) 125 print('小鸡%d只'%c) 126 127 #14.CRAPS赌博游戏 128 from random import randint 129 money = int(input('你的资产:')) 130 print('欢迎来到CRAPS赌博游戏!') 131 while money > 0: 132 key = False 133 while True: 134 duzhu = int(input('玩家下赌注:')) 135 if 0 < duzhu <= money: 136 break 137 frist = randint(1 , 6) + randint(1 , 6) 138 print('游戏第一轮规则:\n\t摇骰子如果摇出了7点或11点,玩家胜;\n\t如果摇出2点、3点或12点,庄家胜;') 139 input('回车开始游戏:') 140 print('筛子点数:%d'%frist) 141 if frist == 7 or frist == 11: 142 money += duzhu 143 print('玩家获胜\n 你的资产:%d'%money) 144 elif frist == 2 or frist == 3 or frist == 12: 145 money -= duzhu 146 print('庄家获胜\n 你的资产:%d'%money) 147 else: 148 key = True 149 print('第一轮无输赢,游戏进入第二轮') 150 print('游戏第二轮规则:\n\t如果摇出了7点,庄家胜;\n\t如果摇出了第一次摇的点数,玩家胜;\n\t其他点数,继续要骰子,直到分出胜负。') 151 input('回车开始游戏:') 152 while key: 153 key = False 154 below = randint(1 , 6) + randint(1, 6) 155 print('筛子点数:%d'%below) 156 if below == 7: 157 money -= duzhu 158 print('庄家获胜\n 你的资产:%d'%money) 159 elif below == frist: 160 money += duzhu 161 print('玩家获胜\n 你的资产:%d'%money) 162 else: 163 key = True 164 print('你已经破产了!') 165 166 #15.培波那契数列前20个 167 a = 1 168 b = 1 169 print('%d \n%d'%(a,b)) 170 for i in range(0,6): 171 mam = a + b 172 print(mam) 173 a = mam + b 174 print(a) 175 b = a +mam 176 print(b) 177 178 #16.10000以内的完美数 179 for x in range(1,10000): 180 max = 0 181 for i in range(x,0,-1): 182 if x % i == 0 and x != i: 183 max += i 184 if max == x: 185 print(x) 186 187 #17.100以内的素数 188 for x in range(2,100): 189 max = 0 190 for i in range(x,1,-1): 191 if x % i == 0 and x != i: 192 max += i 193 if max == 0: 194 print(x)
2021-06-11