判断语句十八道题

1.demo01

set1 = [1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31]
set2 = [2,3,6,7,10,11,14,15,18,19,22,23,26,27,30,31]
set3 = [4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31]
set4 = [8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31]
set5 = [16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]
print(set1)
print("你生日的这一天是否在这一个数字集中")
num1 = input("在的话输入T")
if  num1 == "T":
	a = 1
else :
	a = 0
print(set2)
print("你生日的这一天是否在这一个数字集中")
num2 = input("在的话输入T")
if  num2 == "T":
	b = 2
else :
	b = 0
print(set3)
print("你生日的这一天是否在这一个数字集中")
num3 = input("在的话输入T")
if  num3 == "T":
	c = 4
else :
	c = 0
print(set4)
print("你生日的这一天是否在这一个数字集中")
num4 = input("在的话输入T")
if  num4 == "T":
	d = 8
else :
	d = 0
print(set5)
print("你生日的这一天是否在这一个数字集中")
num5 = input("在的话输入T")
if  num5 == "T":
	t = 16
else :
	t = 0
num = a+b+c+d+t
print("你的生日在%s号"%(num))

 demo2

weight = float(input("输入以磅为单位的体重"))
height = float(input("输入以英寸为单位的身高"))
num = (weight * 0.454) / ((height *0.0254) **2)
print(num)
if num < 18.5:
 	print("体重过轻")
elif num >= 18.5 and num < 25:
 	print("正常")
elif num >= 25 and num < 28:
 	print("过重")
elif num >= 28 and num < 30:
	print("肥胖")
else :
	print("过于肥胖")

 demo3

year = int(input("输入一个年份"))
if year % 4 == 0 and year % 400 != 0 :
	print("这是闰年")
elif year % 400 == 0:
	print("这是闰年")
else :
	print("这是平年")

 demo4

import random
num = random.randint(10,99)
num1 = int(input("输入一个两位数整数"))
a = num // 10
b = num % 10
num2 = b * 10 + a
x = num1 // 10
y = num1 % 10
if num == num1 :
	print("你输入的数字完全一样,恭喜你获得10000美元")
elif num1 == num2:
	print("恭喜你获得3000美元")
elif x == a or x == b or y == a or y == b:
	print("恭喜你获得1000美元")
else :
	print("你输入的数字完全不一样,很遗憾你并不能获得奖金")

 

注意:python中随机产生整数需要用random模块中的randint函数,randint函数会产生一个闭区间内的随机整数 

demo5

import math
a,b,c = eval(input("输入a,b,c的值"))
num = b * b -4 * a * c
print(num)
if num > 0:
	r1 = (-b + math.sqrt(num)) / (2 * a)
	r2 = (-b - math.sqrt(num)) / (2 * a)
	print("一元二次方程组的两个根为:r1=%s,r2=%s"%(r1,r2))
elif num == 0 :
	r1 = r2 =(-b + math.sqrt(num)) / (2 * a) 
	print("一元二次方程组的两个根为:r1=r2=%s"%(r1))
else :
	print("该方程组没有实根")

 demo6

a,b,c,d,e,f = eval(input("输入a,b,c,d,e,f的值"))
num = a * d - b * c
if num == 0:
	print("该线性方程没得解")
else :
	x = (e * d - b * f) / num
	y = (a * f - e * c) / num
	print("x=%s,y=%s"%(x,y))

 

 demo7 

day = int(input("输入今天是一周的哪一天(星期天是0,周一是1,周六是6)"))
num = int(input("输入今天到之后某天的天数"))
t = (day + num) % 7
if t == 0:
	print("今天是周天")
elif t == 1:
	print("今天是周一")
elif t == 2:
	print("今天是周二")
elif t == 3:
	print("今天是周三")
elif t == 4:
	print("今天是周四")
elif t == 5:
	print("今天是周五")
elif t == 6:
	print("今天是周六")

 

 

 demo8

weight_1,price_1 = eval(input("输入第一个包装的重量与价格"))
weight_2,price_2 = eval(input("输入第二个包装的重量与价格"))
money_1 = price_1 / weight_1
money_2 = price_2 / weight_2
if money_1 == money_2:
	print("两个价钱一样")
elif money_1 > money_2:
	print("第二个包装更便宜")
else:
	print("第一个更便宜")

 

 

 demo9

num = int(input("输入一个整数"))
if num % 5 == 0 and num % 6 == 0:
	print("该数能被五和六整除")
elif num % 5 == 0 and num % 6 != 0:
	print("该数能被五整除,不能被六整除")
elif num % 6 == 0 and num % 5 != 0:
	print("该数能被六整除,不能被五整除")
else:
	print("该数不能被五,六整除")

 

 

 demo10

import random
num = random.randint(0,2)
num1 = int(input("输入一个数字(0,1,2分别表示剪刀,石头,布)"))
if num == num1:
	print("平局")
elif num == 0 and num1 == 1 or num == 1 and num1 == 2 or num == 2 and num1 == 1:
	print("恭喜你,你赢了")
else :
	print("对不起,你输了")

 

 

 

 

 demo11

exchange_rate= float(input("输入美元兑换人民币的汇率"))
print("0表示美元转换人民币")
print("1表示人民币转换美元")
a = int(input("输入人名币兑换美元还是美元兑换人民币"))
if a == 0:
	num = int(input("输入美元数或者人民币数"))
	RMB = num * exchange_rate
	print("你将获得%s人民币"%(RMB))
elif a == 1 :
	num = int(input("输入美元数或者人民币数"))
	dollars = num / exchange_rate
	print("你将获得%s美元"%(dollars))
else :
	print("操作失误,请重新开始")

 

 

 

 

 demo12

a,b,c = eval(input("输入三角形的三条边"))
if a + c > b:
	perimeter = a + b + c
	print("三角形的周长为:"+str(perimeter))
else :
	print("这个输入是非法的请重新输入")

 

 

 demo13

 

year = int(input("输入一个年份"))
print("3:三月;4:四月;12:十二月;一月和二月分别是前一年的十三月和十四月")
month = int(input("输入一个月份"))
day = int(input("输入这个月的某一天"))
if month == 1:
	year = year -1
	j = year // 100
	k = year % 100
	h = (day + ((26 * (13 + 1)) // 10) + k + (k // 4) + (j //4) + 5 * j) % 7
elif month == 2:
	year = year -1
	j = year // 100
	k = year % 100
	h = (day + ((26 * (14 + 1)) // 10) + k + (k // 4) + (j // 4) + 5 * j) % 7
else :
	j = year // 100
	k = year % 100
	h = (day + ((26 * (month + 1)) // 10) + k + (k // 4) + (j // 4) + 5 * j) % 7
print(h)
if h == 0:
 	print("这天是周六")
elif h == 1:
 	print("这天是周天")
elif h == 2:
 	print("这天是周一")
elif h == 3:
 	print("这天是周二")
elif h == 4:
 	print("这天是周三")
elif h == 5:
 	print("这天是周四")
else :
 	print("这天是周五")

 

 demo14

import math
x,y = eval(input("输入一个点"))
x1,y1 = eval(input("输入圆心坐标"))
r = int(input("输入圆的半径"))
h = math.sqrt(math.pow((x - x1),2) + math.pow((y - y1),2))
print(h)
if h == r :
	print("点在圆上")
elif h < r:
	print("点在圆内")
else :
	print("点在圆外")

 

 

注意:math.pow(x,y)是返回x的y次幂

 demo15

x,y = eval(input("输入一个点"))
x1,y1 = eval(input("输入矩形中心坐标"))
wide,height= eval(input("输入矩形的宽和高"))
if y < height / 2 and x < wide:
	print("点在矩形内")
elif y == height / 2 and x == wide:
	print("点在矩形上")
else :
	print("点在矩形外")

 

 demo16

num = int(input("输入一个三位整数"))
hundreds = num // 100
b = num % 100
decade = b // 10
unit = b % 10 
num1 = unit * 100 + decade * 10 + hundreds
if num == num1:
	print("这是回文数")
else :
	print("这不是回文数")

 

 

 demo17

import math
x,y = eval(input("输入需要检测得坐标点"))
h = math.sqrt(math.pow(x,2) + math.pow(y,2))
if  h < 200:
	print("坐标点在三角形内")
elif h == 100 or h == 200 or h == 0:
	print("点在三角形的三个顶点上")
else :
	print("点在三角形外")

 

 

 demo18

import math
x,y,r = eval(input("输入圆的中心坐标及半径"))
x1,y1,r1 = eval(input("输入另外一个圆的中心坐标及半径"))
h = math.sqrt(math.pow((x - x1),2) + math.pow((y - y1),2))
if h <= math.fabs(r - r1) :
	print("%s半径的圆在%s半径圆内"%(r1,r))
elif  h < r + r1:
	print("两个圆有重叠")
elif h > r + r1 :
	print("两个圆相离")
else :
	print("两个圆相邻"

 

 

 注意:math.fabs(x)返回x的绝对值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、选择 1.若结点的存储地址与其关键字之间存在某种函数关系,则称这种存储结构为( ) A.顺序存储结构 B.链式存储结构 C.线性存储结构 D.散列存储结构 2.在长度为100的顺序表的第10个位置上插入一个元素,元素的移动次数为( ) A.90 B.91 C.89 D.92 3.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( ) A.顺序表 B.用头指针表示的单循环链表C.用尾指针表示的单循环链表D.单链表 4.若进栈序列为c, a,b,则通过入出栈操作可能得到的a,b,c的不同排列个数为( ) A.4 B.5 C.3 D.2 5.为查找某一特定单词在文本中出现的位置,可应用的串运算是( ) A.插入 B.删除 C.串联接 D.子串定位 7.三维数组A[4][5][6]按行优先存储方法存储在内存中,若每个元素占2个存储单元,且数组中第一个元素的存储地址为120,则元素A[2][4][5]的存储地址为( ) A.296 B.298 C.300 D.302 6.下列陈述中正确的是( ) A.二叉树是度为2的有序树 B.二叉树中结点只有一个孩子时无左右之分 C.二叉树中必有度为2的结点D.二叉树中最多只有两棵子树,并且有左右之分 7.n个叶子的霍夫曼树结点总数为( ) A.2n B.2n-1 C.2n+1 D.不能确定 8.有向图的邻接矩阵中,每列元素之和为该顶点的( ) A.度 B.入度 C.出度 D.权值 9.100个结点完全二叉树高度是( ) A.9 B.10 C.11 D.12 10.n个顶点的无向完全图中含有向边的数目最多为( ) A.n-1 B.n C.n(n-1)/2 D.n(n-1) 11.已知一个有向图如右所示,则从顶点a出发进行深度优先偏历,不可能得到的DFS序列为( ) A.a d b e f c B.a d c e f b C.a d c b f e D.a d e f c b 12.在最好和最坏情况下的时间复杂度均为O(nlogn)且稳定的排序方法是( ) A.快速排序 O(n*n) B.堆排序 C.归并排序 D.基数排序 13.不可能生成右图所示二叉排序树的关键字序列是( ) A.4 5 3 1 2 B.4 2 5 3 1 C.4 5 2 1 3 D.4 2 3 1 5 14.平衡二叉树中任一结点的( ) A.左、右子树的高度均相同 B.左、右子树高度差的绝对值不超过1 C.左子树的高度均大于右子树的高度 D.左子树的高度均小于右子树的高度 15.在VSAM文件的控制区间中,记录的存储方式为( ) A.无序顺序 B.有序顺序 C.无序链接 D.有序链接 二、填空 16.若一个算法中的语句频度为T(n)=3720n3/2+4nlogn,则算法的时间复杂度为________。 17.单链表中若在指针p所指的结点之后插入指针s所指结点,则可用下列两个语句实现该操作,是_s->next=p->next和_______ _。 18.假设以S和X分别表示进栈和退栈操作,则对输入序列a,b,c,d,e进行一系列栈操作SSXSXXSSXX之后,得到的输出序列为________。 19.串S=″I am a worker″的长度是________。 20.假设一10阶下三角矩阵按列优顺序压缩存储一维数组C中,则C数组的大小为________。 21.在n个结点的二叉链表中,有________个空指针。 22.对关键字序列(52,80,63,44,48,21)进行一趟简单选择排序之后得到的结果为________。 23.由10个结点构成的二叉排序树,在等概率查找的假设下,查找成功时的平均查找长度的最大值可能达到________,最小为 。 24头指针为f,尾指针为r的循环队列判断空的条件是 (r+1)%max==f 。 三、问答 1.已知一个6行5列的稀疏矩阵中非零元的值分别为:9,41,6,8,-54,5和-8,它们在矩阵中的列号依次为:1,4,5,1,2,4和5,其行值依次为1,1,2,2,3和5。请写出该稀疏矩阵。 2.已知二叉树树T的先序遍历序列为ABCDE,中序遍历序列为CBDEA。请画出二叉树T。 3.对关键字序列(72,87,61,23,94,16,05,58)进行堆排序,使之按关键字递减次序排列。请写出排序过程中得到的初始堆和前三趟的序列状态。 初始堆:_94,87,。。。_______ 第1趟:{94},87,72,61,58,23,16,5 第2趟:{94,87},72,58,61,5, 23,16, 4.在关键字序列(07,12,15,18,27,32,41,92)中用二分查找法查找和给定值41相等的关键字,请写出查找过程中依次和给定值“41”比较的关键字。平均查找长度。 ASL=(1+2+3)/8= 霍夫曼树:给定若干关键字在某次通信中出现频率,要求构造霍夫曼树并求每个结点编码。a,b,c,d,e,f:2,5,7,8,12,30 关键字序列:4,7,11,14,49,54,散列函数H(key)=key%7,散列表长0。。6,线性探测法处理冲突,构造该散列表。 关键字序列: 14,7,11,4,49,54,写出直接插入排序,起泡排序,简单选择排序(快速排序)每趟结果。 初始序列:{14,7,11,4,49,54} 第一趟{4,7,11},14,{49,54} 第二趟:4,{7,11},14, 49,{54} 第三趟4,7,{11},14, 49,{54} 五、算法设计 .假设二叉树T采用如下定义的存储结构: typedef struct node { DataType data; struct node *lchild,*rchild; }BinTree;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值