Python关于一些判断语句的常见题目

主要考察分支结构(if else elif 用法)

题目:你可以通过询问5个问题来找出你朋友的生日在一个月中的哪一天。每个问题都在询问这一天是否在5个数字集中。

在这里插入图片描述

基本思路*:五个问题询问,用户需要回答,用户需要观察表格,输出累加*

代码如下:

set1 = "1\t3\t5\t7\n" \
       "9\t11\t13\t15\n" \
       "17\t19\t21\t23\n" \
       "25\t27\t29\t31\n"
set2 = "2\t3\t6\t7\n" \
       "10\t11\t14\t15\n" \
       "18\t19\t22\t23\n" \
       "26\t27\t30\t31\n"
set3 = "4\t5\t6\t7\n" \
       "12\t13\t14\t15\n" \
       "20\t21\t22\t23\n" \
       "28\t29\t30\t31\n"
set4 = "8\t9\t10\t11\n" \
       "12\t13\t14\t15\n" \
       "24\t25\t26\t27\n" \
       "28\t29\t30\t31\n"
set5 = "16\t17\t18\t19\n" \
       "20\t21\t22\t23\n" \
       "24\t25\t26\t27\n" \
       "28\t29\t30\t31\n"
day = 0 #定义一个初始值
print(set1)#输出表格供用户观察
print("上面set中有你生日那天吗??")#显示问题
choice = int(input("有请输入1 反之则输入2:"))
if choice == 1 : #如果回答的是1则会执行下一个程序,反正不予理睬
   day += 1 #在原基础上加 1
print(set2) 
print("上面set中有你生日那天吗??")
choice = int(input("有请输入1 反之则输入2:"))
if choice == 1 :
   day += 2
print(set3)
print("上面set中有你生日那天吗??")
choice = int(input("有请输入1 反之则输入2:"))
if choice == 1 :
   day += 4
print(set4)
print("上面set中有你生日那天吗??")
choice = int(input("有请输入1 反之则输入2:"))
if choice == 1 :
   day += 8
print(set5)
print("上面set中有你生日那天吗??")
choice = int(input("有请输入1 反之则输入2:"))
if choice == 1 :
   day += 16
if day ==0 :
   print("你骗人!!!玩我呢?")
else :
       print("你的生日在%d号!"%day)

输出样式:

在这里插入图片描述


题目:在这里插入图片描述

做题思路:

看见有这种设计范围的数据,要学会联想到多分枝(if else)结构解题

代码如下:

weight,height = eval(input("请输入您的体重和身高:"))
BMI = weight / (height**2)
if BMI < 18.5 :
	print("超轻")
elif 18.5 <= BMI < 25.0 :
    print("标准")
elif 25.0 <= BMI < 30.0 :
    print("超重")
else :
	 print("痴肥")

在这里插入图片描述
我超轻噢,看来要多多吃饭噢!!!


题目: 一个年份如果能被4整除但不能被100整除,或能被400整除,那么这个年份就是闰年.

解题思路: 闰年要么被4整除同时不能被100整除,要么被400整除,反正全为平年

代码如下:

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

在这里插入图片描述


题目:假设你想开发一个玩彩票的程序。程序随机产生一个两位数的数字,然后提示用户输入一个两位数的数字并根据以下规郦判定用户是否赢得奖金。

(1) 如果用户输入的数字和随机产生的数字完全相同(包括顺序),则奖金为10000美元。
(2) 如果用户输入的数字和随机产生的数字相不包括顺序),则奖金为3000美元。
(3 )如果用户输入的数字和随机产生的数子有一位数相同,则奖金为1000美元。

思路指导:数字相同,其中之一相同,中奖数字随机性!

代码如下:

import random
a = random.randint(10,99)#定义电脑随机抽取10-99之间的数
numb = int(input("请输入一个两位数的数字:"))
b = numb % 10 #取个位的数
c = numb // 10 #取十位的数
d = a % 10 #取个位的数
e = a // 10 #取十位的数
if b == d and c == e :
      print("恭喜你中奖了,喜提10000美金!!!")
elif b == e and c ==d :
  	  print("恭喜你中奖了,喜提3000美金!!!")
elif b == d or b == e or c ==d or c == e :
  print("恭喜你中奖了,喜提1000美金!!!")
else :
	print("未中奖!")

在这里插入图片描述



题目: 在这里插入图片描述

代码如下:

import math 
(a,b,c) = eval(input("请输入a,b,c的值:"))
v = b**2 - 4 * a * c
if v > 0 :
    r1 = ((-b) + math.sqrt(b**2 - 4 * a * c)) / (2 * a)
    r2 = ((-b) - math.sqrt(b**2 - 4 * a * c)) / (2 * a)
    print("该方程有两个解!")
    print("两个解分别为:r1 = %0.2f , r2 = %0.3f"%(r1,r2))
elif v == 0 :
    r = ((-b) + math.sqrt (b**2 - 4 * a * c)) / (2 * a)
    print("该方程只有一个解!")
    print("解为:r1 = r2 = %0.3f"%(r))
elif v < 0 :
    print ("该方程无解!!!")

在这里插入图片描述


题目:在这里插入图片描述

思路: 运用分支结构

代码如下:

(a,b,c,d,e,f) = eval(input("请分别输入a,b,c,d,e,f的值:"))
v = a * d - b * c
if v == 0 :
	print("The equation has no solution!!!")
else :
	x = (e * d - b * f) / (a * d - b * c)
	y = (a * f - e * c) / (a * d - b * c)
	print("X is %0.2f and Y is %0.2f"%(x,y))

在这里插入图片描述


题目:(找未来数据)编写程序提示用户输人表示今天是一周内哪一天的数字(星期天是0,星期一是1,…,星期六是6)。还要提示用户输入今天之后到未来某天的天数,然后显示未来这天是星期几。下面是一个示例运行。

在这里插入图片描述

代码如下:

today = int(input("今天是星期几呀??(请输入1~7来表示)"))
b = int(input("请问你想知道几天后的星期数?"))
day = (today + b) % 7
if 1 <= day <= 7 :
	print("今天是星期%s,在过%s天就是星期%s了噢"%(today,b,day))
else :
	print("你别拿我不当人啊!!!我可聪明了!!!")

在这里插入图片描述


题目:(金融方面:比较价钱)假设你购买大米时发现它有两种包装。你会想编写一个程序比较这两种包装的价钱。程序提示用户输入每种包装的重量和价钱,然后显示价钱更好的那种包装。下面是一个示例运行。

在这里插入图片描述
思路:计算每斤大米多少钱来比较.

代码如下:

(a,b) = eval(input("请输入A类大米的重量和价格"))
(c,d) = eval(input("请输入B类大米的重量和价格"))
if (b / a) > (d / c) :
    print("A类大米性价比更高噢!!!")
else :
	print("B类大米性价比更高噢!!!")

在这里插入图片描述


题目:(检测一个数字)编写一个程序提示用户输入一个整数,然后检测该数字是否能被5和6都整除、能被5或6整除还是只被它们中的一个整除(但又不能被它们同时整除)。

代码如下:

numb = int(input("请输入一个整数:"))
if numb % 5 == 0 and numb % 6 == 0 :
	print("该数能同时被5和6整除喔")
elif numb % 5 == 0 and numb % 6 != 0 :
	print("该数能被5整除,不能被6整除")
elif numb % 5 != 0 and numb % 6 == 0 :
	print("该数不能被5整除,能被6整除")
else :
	print("该数不能被5或者6整除")

在这里插入图片描述


题目:(游戏:剪刀、石头、布)编写程序来玩流行的剪刀-石头-布的游戏。(剪刀可以剪纸,石头可以磕碰剪刀,而布可以包裹石头。)程序随机产生一个数字0、1或2来表示剪刀、石头和布程序提示用户输入数字0、1或2然后显示–条消息表示用户或计算机是赢、输还是平局。下面是一个示例运行。

在这里插入图片描述

代码如下:

import random
a = random.randint(0,2)#定义电脑随机抽取0-2之间的数
b = int(input("请出拳!用0,1,2代表剪刀石头布"))
if b > 2 or b < 0 :
	print("请读题后重新开始!")
elif a == b:
	print("平局再来一次呗!")
elif b - a == 1 or b - a == -2 :
	print("恭喜你赢得了比赛!")
elif b - a == -1 or b - a== 2 :
	print("你输了,下次加油噢!")

在这里插入图片描述



题目:(金融问题:货币对换)编写一个程序提示用户输入美元和人民币之间的货币汇率。提示用户输入0表示将美元转换为人民币而1表示将人民币转换为美元。提示用户输入美元数或人民币数将它分别转换为人民币或美元。下面是一些示例运行。

在这里插入图片描述

代码如下:

lv = float(input("请输入人民币与美元之间的汇率"))
choose = int(input("请选择:0为转人民币,1为转美元"))
money = float(input("请输入相应的钱"))
if choose == 1 :
    a = money / lv
    print("%s人民币对应的美元为%s"%(money,a))
elif choose == 0 :
	b = money * lv
	print("%s美元对应的人民币为%s"%(money,b))

在这里插入图片描述


题目:(计算三角形的周长)编写程序读取三角形的三个边,如果输入都是合法的则计算它的周长。否则,显示这个输入是非法的。如果两边之和大于第三边则输人都是合法的。下面是一个示例运行。

代码如下:

(a,b,c) = eval(input("请输入三角形的三边:"))
if (a + b) > c and (a + c) > b and (c + b) > a :
    C = a + b + c
    print("该三角形的周长为%s"%(C))
else :
    print("该三角形不存在")

在这里插入图片描述


题目:

在这里插入图片描述

代码如下:

(year,mouth,q) = eval(input("请输入某年,某月,某日 "))
if mouth == 1 or mouth == 2 :
   m = mouth + 12
   year -= 1
else :
   m = mouth
   year = year
j = year // 100
k = year % 100
h = (q + ((26 * (m + 1))//10) + k + k // 4 + j // 4 + 5 * j) % 7
if h == 0:
    print("该日子对应的是星期六")
elif h == 1:
	print("该日子对应的是星期天")
elif h == 2:
	print("该日子对应的是星期一")
elif h == 3:
	print("该日子对应的是星期二")
elif h == 4:
	print("该日子对应的是星期三")
elif h == 5:
	print("该日子对应的是星期四")
elif h == 6:
	print("该日子对应的是星期五")

在这里插入图片描述


题目:

在这里插入图片描述

代码如下:

import math
(x,y) = eval(input("请输入点的坐标:"))
R = math.sqrt((x**2) + (y**2))# 两点之间的距离公式
if R < 10 :
	print("该点在圆内")
elif R == 10 :
	print("该点在圆上")
else :
	print("该点在圆外")

在这里插入图片描述


题目:

在这里插入图片描述

代码如下:

(x , y )= eval(input("请输入x , y: "))
if -(10/2) <= x <= 10/2 and -(5/2)<= y <= 5/2:#注意考虑四个象线的坐标
	print("该点在该矩形中")
else :
	print("该点不在该矩形中")

在这里插入图片描述

题目:(回文数)编写程序提示用户输人一个三位整数,然后决定它是否是一个回文数。如果一个数从左向右和从右向左读取时是一样的,那么这个数就是回文数。

主要思路 : 题目说三位数,如果是回文数要求满足第一位和第二位相同,所有第一位和第三位相同即可.

代码如下:

numb = int(input("请输入一个三位整数为:"))
a = numb // 100
b = numb % 10
if a == b :
	print("该数为回文数!")
else :
	print("该数不是回文数!")

在这里插入图片描述


题目:(几何问题:点在三角形内吗?)假设一个直角三角形被放在一个水平面上,如下图所示。直角点是在(0,0)而另外两个点在(200,0)和(0,100)处。编写程序提示用户输入一个带x坐标和y坐标的点,然后决定这个点是否在三角形内。

在这里插入图片描述

基本思路:控制条件,限制一些条件,比如一象线三四象线,将题目简单化

代码如下:

(x,y) = eval(input("请输入该点的坐标:"))
k1 = 100 / 200 #通过斜率的大小来判断,
if 0 <= x <= 200 and 0 <= y <= 100 :
	k = y / x 
	if k > k1 :
		print("该点不在三角形里面")
	else :
		print("该点在三角形里面")
else :
	print("该点不在三角形里面")


在这里插入图片描述


题目: (几何问题:两个圆)编写程序提示用户输人两个圆的中心的坐标以及它们的半径,然后判断第二个圆是在第一个圆内还是和第一个圆有重叠部分,如图4-11所示。(提示:如果两个中心的距离≤|rl- r2|那么circle2在circlel内,如果两个中心的距离≤rl1+r2那么circle2是和circlel有重叠的。测试你的程序覆盖所有的情况。)

在这里插入图片描述

代码如下:

import math
(x1,y1,r1) = eval(input("请分别输入第一个圆的坐标和半径"))
(x2,y2,r2) = eval(input("请分别输入第二个圆的坐标和半径"))
a = math.sqrt((x1 - x2)**2 + (y1 - y2)**2)
if abs(r1 - r2) < a <(r1 + r2) :#abs是绝对值的意思
   print("两圆的位置关系是香蕉")
elif a < abs(r1 - r2) :
	print("两圆的位置关系是包含")
elif a == abs(r1 - r2) :
    print("两圆的位置关系是内切")
elif a == abs(r1 + r2) : 
	print("两圆的位置关系是外切")
else :
	print("两圆的位置关系是相离")

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Zombie_QP/article/details/124025903