1.已知点的坐标(x, y),判断其所在的象限。
x = int(input(\"请输入x的坐标:\")) y = int(input(\"请输入y的坐标:\")) if x > 0 and y > 0 : print(\"第一象限\") elif x < 0 <= y : print(\"第二象限\") elif x < 0 and y < 0 : print(\"第三象限\") elif x >= 0 > y : print(\"第四象限\") elif x == 0 and y == 0 : print(\"原点\")
输出结果:
请输入x的坐标:3 请输入y的坐标:6 第一象限 请输入x的坐标:-6 请输入y的坐标:5 第二象限 请输入x的坐标:-9 请输入y的坐标:-5 第三象限 请输入x的坐标:1 请输入y的坐标:-2 第四象限 请输入x的坐标:0 请输入y的坐标:0 原点
2、请根据BMI公式(体重除以身高的平方)计算BMI指数,
BMI指数如下:低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖
请输入小明身高1.75和体重80.5kg,用if-elif语句帮小明判断并打印BMI结果。
weight = float(input(\"请输入体重(kg):\")) height = float(input(\"请输入身高(m):\")) BMI = weight / height ** 2 print(\"BMI:\") if 0 < weight < 18.5 : print(\"过轻\") elif 18.5 <= BMI < 25 : print(\"正常\") elif 28 <= BMI < 32 : print(\"肥胖\") else: print(\"严重肥胖\")
输出结果:
请输入体重(kg):66 请输入身高(m):190 BMI: 严重肥胖
3、输入一个数字,按照如下条件处理:如果该数字各位数之和为奇数,则将该数各位数逆序输出(如输入122,则输出为221);如果该数字各位数之和为偶数,则直接输出该数字(如输入123,则输出为321)。
a = int(input(\"请输入一个三位数:\")) b = int(a % 10) c = int(a // 10) % 10 d = int(a // 100) #print(\"{}={}+{}*10+{}*100\".format(a, b, c, d)) f = (b+c+d) print(\"各数字之和为\",f) if ((b + c + d) % 2 == 0) : print(\"输出偶数:\", a) else : a = str(a) print(\"输出奇数\", a[: :-1])
输出结果:
请输入一个三位数:122
各数字之和为 5
输出奇数 221
请输入一个三位数:123
各数字之和为 6
输出偶数: 123
方法二:
a = int(input(\"请输入一个数:\")) # 百位 baiw = int(a/100) # 十位 shiw = int(a/10)%10 # 个位 gew = a%10 # 求和 he = baiw + shiw + gew if he %2 == 0: # 偶数 print(\"偶数,直接输出\", a) else: print(\"奇数,逆序输出\",gew,shiw,baiw)
输出结果:
请输入一个数:>? 123 偶数,直接输出 123 请输入一个数:>? 122 奇数,逆序输出 2 2 1
4、请分别使用while和for语句输出1至100的奇数和。
# while语句 i=1 sum = 0 while i<=100: if i%2 !=0: sum=sum +i i+=1 print(\"1-100的奇数累积和为:%d\"%sum)
输出结果:
1-100的奇数累积和为:2500
#for语句 sum=0 for n in range(1,101): if (n%2==1): sum=sum +n print (\"1-100的奇数和=\",sum)
输出结果:
1-100的奇数和= 2500
5、编写程序输出1到100中同时被3和5整除的数。
for a in range(1,101): if a%3==0 and a%5==0: print(\'被3和5整除\',a)
输出结果:
被3和5整除 15 被3和5整除 30 被3和5整除 45 被3和5整除 60 被3和5整除 75 被3和5整除 90
6、有3、5、7、8、9共五个个数字,能组成多少个互不相同且无重复数字的三位数,并输出这些数字。
from random import random import list1 as list1 import lst as lst number = [3, 5, 7, 8, 9] for x in range(0, 5): for y in range(0, 5): for z in range(0, 5): if not (x == y or y == z or x == z): print(\'{} {} {}\'.format(number[x], number[y], number[z], )) f = 5 * 4 * 3 print(\"能组成互不相同且无重复数字的三位数:\", f)
输出结果:
3 5 7
3 5 8
3 5 9
3 7 5
3 7 8
3 7 9
3 8 5
3 8 7
3 8 9
3 9 5
3 9 7
3 9 8
5 3 7
5 3 8
5 3 9
5 7 3
5 7 8
5 7 9
5 8 3
5 8 7
5 8 9
5 9 3
5 9 7
5 9 8
7 3 5
7 3 8
7 3 9
7 5 3
7 5 8
7 5 9
7 8 3
7 8 5
7 8 9
7 9 3
7 9 5
7 9 8
8 3 5
8 3 7
8 3 9
8 5 3
8 5 7
8 5 9
8 7 3
8 7 5
8 7 9
8 9 3
8 9 5
8 9 7
9 3 5
9 3 7
9 3 8
9 5 3
9 5 7
9 5 8
9 7 3
9 7 5
9 7 8
9 8 3
9 8 5
9 8 7
能组成互不相同且无重复数字的三位数: 60
方法二:
import random lst = [5, 6, 7, 8, 9] st = set() # 概率 for i in range(1000): # 用列表中的数字组成随机数的样本 lst1 = random.sample(lst, 3) # 排除重复的数字 lst1 = [str(a) for a in lst1] lst2 = \"\".join(lst1) st.add(lst2) print(\"共有 {0} 个数字,分别为:{1}\".format(len(st), st))
输出结果:
共有 60 个数字,分别为:{\'867\', \'689\', \'569\', \'875\', \'785\', \'678\', \'789\', \'796\', \'856\', \'695\', \'687\', \'659\', \'756\', \'578\', \'587\', \'879\', \'798\', \'795\', \'568\', \'567\', \'586\', \'597\', \'675\', \'589\', \'869\', \'698\', \'896\', \'859\', \'786\', \'579\', \'697\', \'768\', \'965\', \'769\', \'598\', \'968\', \'876\', \'976\', \'985\', \'978\', \'765\', \'685\', \'865\', \'956\', \'957\', \'897\', \'576\', \'987\', \'657\', \'975\', \'759\', \'895\', \'986\', \'679\', \'596\', \'758\', \'958\', \'857\', \'658\', \'967\'}
7、用for循环实现用户登录
要求如下:
提示输入用户名和密码。
判断用户名和密码是否正确(name=admin,passwd=123456)。
登录仅有三次机会,超过3次会报错。
for i in range(3): name = input(\'请输入用户名:\') passwd = input(\'请输入密码:\') if name == \'admin\' and passwd == \'123456\': print(\'密码正确!\') break else: print(\'密码错误\') print(\'你还有 %d 次机会\' % (2 - i)) else: print(\'请退出重新登录!\')
方法二: for i in range(3): name = input(\"请输入用户名:\") passwd = input(\"请输入密码:\") if name == \"admin\" and passwd ==\"123456\": print(\"登录成功\") break else: print(\"登录次数过多,登录失败\")
输出结果:
请输入用户名:admin 请输入密码:123456 密码正确!
请输入用户名:admin
请输入密码:2344t
密码错误
你还有 2 次机会
请输入用户名:
请输入用户名:admin 请输入密码:2345 请输入用户名:admin 请输入密码:123653 请输入用户名:admin 请输入密码:23344 登录次数过多,登录失败 请输入一个数字
8、使用for循环计算7的阶乘。
sum = 7 for n in range(1, 7): sum = sum * n print(\"7的阶乘=\", sum)
输出结果:
7的阶乘= 5040
# 使用for循环计算7的阶乘 a = int(input(\"请输入一个数字\")) n = 1 if a< 0: print(\"负数没有阶乘\") elif a == 0: print(\"0的阶乘为1\") else: for i in range(1, a + 1): n = n * i print(\"结果=\", n) # 递归函数实现阶乘 def fact(n): if n==0: return 1 else: return n * fact(n-1) print(\"结果=\", fact(7)) # 使用数学函数实现阶乘 import math print(\"结果=\", math.factorial(7)) # 使用lambda实现阶乘 from functools import reduce a = reduce(lambda x, y:x*y, range(1, 8)) print(\"结果=\", a)
9、由星号组成的等边三角形。
n = eval(input(\"请输入一个整数:\")) for i in range(1, n + 1, 2): print(\"{0:^{1}}\".format(\'*\' * i, n))
请输入一个整数:9 * *** ***** ******* *********
来源:https://www.cnblogs.com/huangfeilonghfl/p/17035072.html
本站部分图文来源于网络,如有侵权请联系删除。