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

posted @ 2021-06-11 13:28  Uriel-w  阅读(56)  评论(0编辑  收藏  举报