题目描述:
输入一个摄氏温度的值,将它转变为华氏温度,并将结果输出
转换的公式为如下:fahrenheit = (9 / 5 ) * celsius + 32
输入输出描述
输入一个值表示摄氏温度celsius
输出华氏温度fahrenheit ,结果保留一位小数点。
代码如下:
celsius = float(input("请输入你要转换的的摄氏温度的值:"))
fahrenheit = (9 / 5 ) * celsius + 32
print("输出的华氏温度为:",fahrenheit)
print("输出的华氏温度为:%s" %fahrenheit)
print("输出的华氏温度为:{fahrenheit}")
print("输出的华氏温度为:{}".format(fahrenheit))
题目描述
输入圆柱的半径和高,并利用如下公式计算圆柱体的底面积和体积。
输入输出描述
分别输入圆柱的半径radius和高度length,两个数据之间用空格分隔
输出两行,第一行为圆柱底面积area,第二行为圆柱体积volume,结果保留两位小数点
代码如下:
import math
radius = float(input("请输入圆柱体的半径:"))
length = float(input("请输入圆柱体的高度:"))
radius , length = map(float,input("请分别输入圆柱体的半径和高度:").split())
area = radius * radius * 3.14
volume = area * length
#使用多种输出方式表示
print("圆柱体的底面积为:", area)
print("圆柱体的体积为:", volume)
print("圆柱体的底面积为:%s" %area)
print("圆柱体的体积为:%s" %volume)
print("圆柱体的底面积为:{}".format(area))
print("圆柱体的体积为:{}".format(volume))
print('%.2f'% area)
print('%.2f'% volume)
题目描述
输入英尺数然后将它转换为米数,并输出结果,一英尺等于0.305米
输入输出描述
输入一个数据表示英尺数
输出转换后的米数,结果保留四位小数点
代码如下:
feet = float(input("请输入你要转换的英尺数的值:"))
meter = feet * 0.305
print("输出的米数为:")
print('%0.4f'% meter)
#也可以是以下的这种输出方式:
#print(f"输出的米数为{meter:.2f}")
题目描述
读取小计和酬金率,然后计算小费以及合计金额。例如客户的小计为10元,酬金率为15%,那么小费是1.5元,合计金额为11.5元
输入输出描述
分别输入小计和酬金率,两个数据用之间用空格分隔
输出两行,第一行为小费,第二行为合计金额,结果保留两位小数
代码如下:
subtotal = float(input("请输入客户的小计:"))
tip = subtotal * 0.15 #酬金率为15%
Totalamount = subtotal + tip #总金额
print("小费为:")
print('%.2f'% tip)
print("总金额为:")
print('%.2f'% Totalamount)
题目描述
读取一个0到1000之间的整数,并计算它各位数字之和
输入输出描述
输入一个[0,1000]之间的整数
输出该数字的各位数字之和
代码如下:
num = int(input("请输入一个整数(0-1000之间):"))
a = num // 100 #百位上的数字
b = num % 100 // 10 #十位上的数
c = num % 100 % 10 #个位上的数
sum = a + b + c
print("这个整数的各位数字之和为:", sum)
#改进
num = int(input("请输入一个【0,1000】之间的整数:"))
if num < 0 or num > 1000:
print("输入不合法,请重新输入")
else:
total = 0
num_str = str(num)
for digit in num_str:
total += int(digit)
print("各位数字之和为:",total)
题目描述
输入分钟数,然后将该分钟数转换为年数和天数,假定一年有365天
输入输出描述
输入一个分钟数
输出两行,第一行为年数,第二行为天数
代码如下:
minutes = int(input("请输入分钟数:")) #输入分钟
years = minutes // (60 * 24 * 365) #计算年数
days = minutes % (60 * 24 * 365) //(60 * 24) #计算天数
print("年数:",years) #输出年数数
print("天数:",days) #输出天数
题目描述
水从初始温度加热到最终温度是需要能量的,请计算需要多少能量,公式如下:
Q = M * (finalTemperature - initialTemperature) * 4184
这里的M是按千克计的水量,初始温度和最终温度均为摄氏度,热量Q以焦耳计
输入输出描述
输入三行数据,第一行输入水量,第二行输入初始温度,第三行输入最终温度
输出所需的能量值,结果保留一位小数
代码如下:
M = float(input("请输入水量:"))
initialTemperature = float(input("请输入初始温度:"))
finalTemperature = float(input("请输入最终温度:"))
Q = M * (finalTemperature - initialTemperature) * 4184
print(f"所需的热量为:{Q}")
题目描述
输入一个四位整数,并以反向顺序显示
输入输出描述
输入一个四位整数
输出四行,第一行为个位,第二行为十位,第三行为百位,第四行为千位
代码如下:
num = int(input("请输入一位四位数:"))
if num >= 10000 and num <= 0:
print("你输入的数字不在我们规定的范围内,请重新输入。")
num = int(input("请输入一位四位数:"))
while num > 0:
a = num % 10
print(a)
num = num // 10
题目描述
输入三角形的三个顶点坐标,并计算其面积,计算公式如下
输入输出描述
输入六个数据,分别表示三角形三个顶点的坐标x1、y1、x2、y2、x3和y3,数据之间用空格分隔
输出三角形的面积,结果保留一位小数
代码如下:
import math
x1 = float(input("请输入第一个点的横坐标:"))
y1 = float(input("请输入第一个点的纵坐标:"))
x2 = float(input("请输入第二个点的横坐标:"))
y2 = float(input("请输入第二个点的纵坐标:"))
x3 = float(input("请输入第三个点的横坐标:"))
y3 = float(input("请输入第三个点的纵坐标:"))
side1 = math.sqrt((x1 - x2)**2 + (y1 - y2)**2)
side2 = math.sqrt((x1 - x3)**2 + (y1 - y3)**2)
side3 = math.sqrt((x3 - x2)**2 + (y3 - y2)**2)
s = (side1 + side2 + side3) / 2
area = math.sqrt(s * (s - side1) * (s - side2) * (s - side3))
print("三角形的面积为:%.1f" %area)
题目描述
输入你所在的时区,并输出当前的时间
输入输出描述
输入时区,如东八区为8,西五区为-5
输出二十四小时制的时间,格式为 时:分:秒
代码如下:
import time
timezone = int(input("请输入时区:"))
gmt_time = time.gmtime()
adjusted_time = time.localtime(time.mktime(gmt_time) + (timezone * 3600))
hour = str(adjusted_time.tm_hour).zfill(2)
minute = str(adjusted_time.tm_min).zfill(2)
second = str(adjusted_time.tm_sec).zfill(2)
# timezone = input("请输入您所在的时区(例如东八区为8,西五区为-5):")
print(f"当前时间:{hour}:{minute}:{second}")
# print("当前的时间为:{:%H:%M:%S}".format(local_time))
题目描述
输入三角形的三个顶点坐标,并计算该三角形的三个角分别是多少(角度制)
其中a、b、c分别表示三条边,A、B、C分别表示三边对应的角
输入输出描述
输入六个数据,分别表示三角形三个顶点的坐标x1、y1、x2、y2、x3和y3,数据之间用空格分隔
输出三行,分别为A、B、C三个角的度数,结果保留两位小数
代码如下:
import math
x1 = float(input("请输入第一个点的横坐标:"))
y1 = float(input("请输入第一个点的纵坐标:"))
x2 = float(input("请输入第二个点的横坐标:"))
y2 = float(input("请输入第二个点的纵坐标:"))
x3 = float(input("请输入第三个点的横坐标:"))
y3 = float(input("请输入第三个点的纵坐标:"))
# x1,y1 = map(int,input("请输入第一个点的坐标:").split(" "))
a = math.sqrt((x1 - x2)**2 + (y1 - y2)**2)
b = math.sqrt((x1 - x3)**2 + (y1 - y3)**2)
c = math.sqrt((x3 - x2)**2 + (y3 - y2)**2)
A = math.degrees(math.acos((a * a - b * b - c * c) / (-2 * b * c)))
B = math.degrees(math.acos((b * b - a * a - c * c) / (-2 * a * c)))
C = math.degrees(math.acos((c * c - a * a - b * b) / (-2 * a * b)))
# print("A的角度为%.2f,B的角度为%.2f,C的角度为%.2f"%A, B, C)
print(f"A的角度为{A:.2f},B的角度为{B:.2f},C的角度为{C:.2f}")
题目描述
假设硬币种类分为:一元硬币、两角五分硬币、一角硬币、五分硬币、一分硬币
输入总金额,并将总金额兑换成若干个硬币,并保证所兑换的硬币个数最少
输入输出描述
输入总金额
输出每种硬币的个数
代码如下:
#直接运算法
count = float(input("请输入总金额:"))
num_oneyuan = count // 1
count = count - num_oneyuan * 1
num_liangjiaowufen = count // 0.25
count = count - num_liangjiaowufen * 0.25
num_yijiao = count // 0.1
count = count - num_yijiao * 0.1
num_wufen = count // 0.05
count = count - num_wufen * 0.05
num_yifen = count // 0.01
print(f"{num_oneyuan}个一元硬币,{num_liangjiaowufen}个两角五分硬币,{num_yijiao}个一角硬币,{num_wufen}个五分硬币,{num_yifen}个硬币")
#使用元组方法:
coins = {1:"一元", 0.25:"两角五分", 0.1:"一角", 0.05:"五分", 0.01:"一分硬币"}
total_count = float(input("请输入总金额:"))
for coin_value , coin_name in coins:
coin_count = int(total_count / coin_value)
total_count -= coin_count * coin_value
print(f"{coin_count}个{coin_name}硬币")
题目描述
正多边形是边长相等的多边形,而且所有的角相等,计算正多边形的公式为:
输入输出描述
输入两个数据分别表示边的个数n和边的长度s,数据之间用空格分隔
输出边长为s的正n多边形的面积,结果保留两位小数
代码如下:
import math
# side = float(input("请输入多边形的边长:"))
n,s = map(float,input("请输入正多边形的边长的个数和边的长度:").split(","))
area = n * s**2 / (4 * math.tan(math.pi / n))
print(f"正多边形的面积为:{area:.2f}")
题目描述
BMI是根据体重测量健康的方式,通过以千克为单位的体重除以以米为单位的身高的平方计算而出
BMI指数解读如下:
BMI | 解释 |
---|---|
BMI < 18.5 | 超轻 |
18.5 ≤ BMI < 25.0 | 标准 |
25.0 ≤ BMI < 30.0 | 超重 |
30.0 ≤ BMI | 肥胖 |
输入输出描述
输入体重和身高,数据之间用空格分隔
输出BMI指数结果
代码如下:
weight , height =map(float , input("依次输出你的体重(kg)和身高(m):").split(","))
BMI = weight /(height**2)
print("你的BML指数是:")
if BMI < 18.5:
print("超轻")
elif 18.5 <= BMI <25.0:
print("标准")
elif 25.0 <= BMI <30.0:
print("超重")
elif 30.0 <= BMI:
print("肥胖")
题目描述
一个年份如果能被4整除但不能被100整除,或者能被400整除,那么这个年份就是闰年
输入输出描述
输入一个年份
输出Yes表示该年份为闰年,No则表示不是闰年
代码如下:
year = int(input("请输入年份:"))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print("Yes")
else:
print("No")
题目描述
随机产生一个两位数数字,然后用户输入一个两位数数字,并根据以下规则判定用户赢得的奖金是多少
(1)输入的数字和随机产生的数字完全相同(包括顺序),奖金为10000元
(2)输入的数字和随机产生的数字相同(不包括顺序),奖金为3000元
(3)输入的数字和随机产生的数字有一位数相同,奖金为1000美元
(4)输入的数字和随机产生的数字都不相同,没有奖金,0元
输入输出描述
输入一个两位数
输出两行,第一行输出那个随机产生的两位数,第二行输出用户的奖金
代码如下:
import random
random_num = random.randint(10,99)
user_num = int(input("请输入一个两位数:"))
print(f"随机数:{random_num}")
if user_num < 10 or user_num > 90:
print("你没有遵守要求请重新输入:")
user_num = int(input("请输入一个两位数:"))
else:
if user_num == random_num:
prize = 10000
elif sorted(str(user_num)) == sorted(str(random_num)):
prize = 3000
elif str(user_num)[0] == str(random_num)[0] or str(user_num)[1] == str(random_num)[1] or str(user_num)[0] ==str(random_num)[1] or str(user_num)[1] == str(random_num)[0]:
prize = 1000
else:
prize = 0
print(f"奖金为:{prize}元")
题目描述
一元二次方程$ax^2+bx+c=0 (a != 0)$的解可以使用下面的公式计算
其中$b^2-4ac$称为判别式,如果它为正,则方程有两个实数解;为零,方程只有一个实数解;为负,没有实数解
输入输出描述
输入a、b、c三个数据,数据之间用空格分隔
两个解每行输出一个;一个解单行输出;无解则单行输出无实数解,保留两位小数
代码如下:
import math
def solve_quadratic_equation(a,b,c):
discriminant = b**2 - 4 * a * c
if discriminant > 0:
root_1 = (-b + math.sqrt(discriminant)) / (2 * a)
root_2 = (-b - math.sqrt(discriminant)) / (2 * a)
return round(root_1,2) , round(root_2,2)
if discriminant == 0:
root = -(b / 2*a)
return round(root,2)
else:
return "无实数解"
a,b,c = map(float,input("依次输入a,b,c三个数:").split(" "))
solution = solve_quadratic_equation(a,b,c)
if isinstance(solution,tuple):
print(f"第一个解:{solution[0]},第二个解:{solution[1]}")
else:
print(solution)
题目描述
如有一个2×2的线程方程组:
你可以使用克莱姆法则解该线性方程:
其中$ad-bc$为判别式,如果为零则输出无解
输入输出描述
输入a、b、c、d、e、f六个数据,数据之间用空格分隔
输出两行,第一行x的解,第二行y的解,保留一位小数
代码如下:
def system_of_linear_equations(a,b,c,d,e,f):
discriminant = a*d - b*c
if discriminant != 0:
root_x = (e*d - b*f) / discriminant
root_y = (a*f - e*c) / discriminant
return round(root_x, 1) , round(root_y, 2)
else:
return "无解!"
a,b,c,d,e,f = map(float , input("请依次输入a,b,c,d,e,f六个数据,用空格隔开:").split(" "))
solution = system_of_linear_equations(a,b,c,d,e,f)
print("方程的解为:",solution)
# # 输入
# a, b, c, d, e, f = map(float, input("请依次输入a,b,c,d,e,f六个数据,数据之间使用空格隔开:").split())
# # 计算判别式
# discriminant = a * d - b * c
# # 判断是否有解
# if discriminant == 0:
# print("无解")
# else:
# # 计算x和y的解
# x = (e * d - b * f) / discriminant
# y = (a * f - e * c) / discriminant
# # 输出结果,保留一位小数
# print("{:.1f}".format(x))
# print("{:.1f}".format(y))
题目描述
输入表示今天是一周内哪一天的数字(星期天是0,星期一是1,...,星期六是6)
并输入今天之后到未来某天的天数,然后输出该天是星期几
输入输出描述
输入两个数据,分别表示今日星期几的数字和未来某天的天数,数据之间用空格分隔
输出未来某天是星期几
代码如下:
# import datetime
# #获取今天是星期几的数字和未来某天的天数
# today,days = map(int,input("请输入今天是星期几(0-6),并输入未来某天的天数:").split(" "))
# #获取今天的日期
# current_day = datetime.datetime.now().date()
# #计算未来某一天的日期
# future_day = current_day + datetime.timedelta(days = days)
# #获取未来某天是星期几
# weekday = future_day.weekday()
# print(f"未来某天是星期{weekday}")
#使用列表和取余运算
# #获取今天是星期几的数字和未来某天的天数
# today,days = map(int,input("请输入今天是星期几(0-6),并输入未来某天的天数:").split(" "))
# #星期几的列表
# weekdays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
# # 获取某天是星期几
# future_weekday = (today + days) % 7
# print(f"今天是{weekdays[future_weekday]}")
#使用calendar 模块
import calendar #调用日历
today,days = map(int,input("请输入今天是星期几(0-6),并输入未来某天的天数:").split(" "))
weekday = (today + days) % 7
print(f"今天是星期{weekday}")
题目描述
给定某年、某月、某日的一个日期,计算该日是今年中的第几天
输入输出描述
输入三个数据分别表示年、月、日,数据之间用空格分隔
输出该日是今年中的第几天
代码如下:
# def is_leapyear(year):
# return ((year % 4 == 0 and year % 100 != 0) or year % 400 ==0)
# Mouth_days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30,31]
# res = 0
# year,month,day = map(int,input("请依次输入年月日,数据之间使用空格隔开:").split(" "))
# if is_leapyear:
# Mouth_days[2] +=1
# for i in range(month):
# res +=Mouth_days[i]
# print(f"这是一年中的第{res+day}天")
import datetime
# 输入年月日
year, month, day = map(int, input("请输入年、月、日,用空格分隔:").split())
# 构造日期对象
date_obj = datetime.date(year, month, day)
# 获取一年中的第几天
day_of_year = date_obj.timetuple().tm_yday
print(f"{year}年{month}月{day}日是今年中的第{day_of_year}天")
题目描述
计算机随机产生一个数字0、1和2分别表示剪刀、石头和布
用户输入数字0、1或2,输出用户赢、计算机赢或平局
输入输出描述
输入数字0、1或2
输出有三行,第一行输出计算机出的啥,第二行输出用户出的啥,第三行输出结果
代码如下:
import random
choices = ["石头", "剪刀", "布"]
#choices = {"石头":0, "剪刀":1, "步":2}
player_score = 0
computer_score = 0
while True:
# 玩家进行选择
player_choice = input("请出拳(石头、剪刀、布):")
# 随机生成计算机的选择
computer_choice = random.choice(choices)
# 判断胜负并更新分数
if player_choice == computer_choice:
print("平局!")
elif (player_choice == "石头" and computer_choice == "剪刀") or \
(player_choice == "剪刀" and computer_choice == "布") or \
(player_choice == "布" and computer_choice == "石头"):
print("你赢了!")
player_score += 1
else:
print("你输了!")
computer_score += 1
# 显示当前分数
print(f"当前分数:玩家 {player_score} - {computer_score} 计算机")
# 询问是否继续游戏
play_again = input("是否继续游戏?(输入 y 继续,其他任意键退出):")
if play_again.lower() != "y":
break
print("游戏结束!")
#这段代码使用了一个无限循环 while True,以便让玩家可以连续进行多轮游戏。玩家需要输入自己的选择(石头、剪刀、布),计算机随机生成选择,并比较两者的选择来决定胜负。每轮结束后,会显示当前的分数,并询问玩家是否继续游戏。如果玩家选择不继续,则循环结束,游戏结束。
choices = ["石头", "剪刀", "布"]
player1_score = 0
player2_score = 0
while True:
# 玩家1进行选择
player1_choice = input("玩家1请出拳(石头、剪刀、布):")
# 玩家2进行选择
player2_choice = input("玩家2请出拳(石头、剪刀、步):")
# 判断胜负并更新分数
if player1_choice == player2_choice:
print("平局!")
elif (player1_choice == "石头" and player2_choice == "剪刀") or \
(player1_choice == "剪刀" and player2_choice == "布") or \
(player1_choice == "布" and player2_choice == "石头"):
print("玩家1赢了!")
player1_score += 1
else:
print("玩家1输了!")
player2_choice += 1
# 显示当前分数
print(f"当前分数:玩家1 {player1_score} - {player2_score} 玩家2")
# 询问是否继续游戏
play_again = input("是否继续游戏?(输入 y 继续,其他任意键退出):")
if play_again.lower() != "y":
break
print("游戏结束!")
#这段代码使用了一个无限循环 while True,以便让玩家可以连续进行多轮游戏。玩家需要输入自己的选择(石头、剪刀、布),计算机随机生成选择,并比较两者的选择来决定胜负。每轮结束后,会显示当前的分数,并询问玩家是否继续游戏。如果玩家选择不继续,则循环结束,游戏结束。
题目描述
输入三角形三边的长度,如果输入合法则计算周长并输出结果;否则输出非法
如果任意两边之和大于第三边则输入都是合法的
输入输出描述
输入三个数据表示三边,数据之间用空格分隔
输出三角形的周长,如果非法则输出非法
代码如下:
a,b,c = map(int, input("依次输入三角形三条边长:").split( ))
# 判断是否合法
if a + b > c and a + c > b and b + c > a:
# 计算周长
perimeter = a + b + c
print(perimeter)
else:
print("非法")
题目描述
泽勒的一致性是一个由泽勒开发的算法,用于计算一周的星期几,公式如下:
(1)$h$是指一周的星期几(0表示星期六、1表示星期天、...、6表示星期五)
(2)$q$是一个月的哪一天
(3)$m$是月份(3表示三月、4表示四月、...、12表示十二月),其中一月和二月都是按照前一年的13月和14月来计数的,所以还得把年份改为前一年
(4)$j$是世纪数,即$\lfloor\frac{year}{100}\rfloor$
(5)$k$是一个世纪的某一年,即$year \% 100$
(6)$\lfloor\rfloor$为向下取整符号
输入输出描述
输入年、月、日三个数据,数据之间用空格分隔
输出该日是周几
代码如下:
# year=eval(input("请输入年份:"))
# month=eval(input("请输入月份:"))
# day=eval(input("请输入日期:"))
year,month,day = map(int, input("依次输入年,月,日三个数据(数据之间使用空格隔开)").split(" "))
q=day
if month<=2:
m=12+month
year-=1
else:
m=month
j=year//100
k=year%100
h=(q+26*(m+1)//10+k+k//4+j//4+5*j)%7
weekDay=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
print(year,"年",month,"月",day,"日","是",weekDay[h-1])
题目描述
直线A上的两个点是$(x1,y1)$和$(x2,y2)$,直线B上的两个点是$(x3,y3)$和$(x4,y4)$
如果两条直线有交点,可以通过解下面的线性等式找出:
如果没有解,则表示两条直线平行
输入输出描述
输入八个数据,分别为x1 y1 x2 y2 x3 y3 x4 y4,数据之间用空格分隔
如有交点则输出交点的坐标x y,否则输出两条直线平行
代码如下:
x1, y1, x2, y2, x3, y3, x4, y4 = map(float, input("依次输入八个数据,分别为x1 y1 x2 y2 x3 y3 x4 y4,数据之间用空格分隔:").split(" "))
if x2 - x1 == 0:
k1 = None
b1 = 0
else:
k1 = (y2 - y1) / (x2 - x1)
b1 = y1 - x1 * k1
if x4 - x3 == 0:
k2 = None
b2 = 0
else:
k2 = (y4 - y3) / (x4 - x3)
b2 = y3 - x3 * k2
# 检查两条线是重合还是平行
if k1 is None and k2 is None:
if x1 == x3:
print("两直线重合")
else:
if x1 == x2 or x2 == x3 or x3 == x4 or x4 == x1:
print("两直线平行")
else:
print("两直线无交点")
elif k1 is not None and k2 is None:
x = float(input("请输入第三个点的横坐标:"))
y = k1 * x + b1
elif k1 is None and k2 is not None:
x = float(input("请输入第三个点的横坐标:"))
y = k2 * x + b2
else:
# 检查具有不同斜率和不同截距的两条直线的交点
if k1 != k2 or b1 != b2:
x = (b2 - b1) / (k1 - k2)
y = k1 * x + b1
else:
print("两直线重合")
print(f"请输入第三个点的横坐标:")
print(f"两直线的交点坐标为({x:.2f},{y:.2f})")
题目描述
输入一个三位整数,然后判断其是否为一个回文数
如果一个数从左向右和从右向左读取时是一样的,那么这个数就是回文数
输入输出描述
输入一个数字
输出Yes表示是回文数,否则输出No
代码如下:
# num = int(input("请输入你想要判断的数:"))
#方法一:转换为字符串判断:
def is_palindrome(num):
'''
功能:判断一个数是不是回文数
num:输入一个整数
'''
num_str = str(num)
reversed_str = num_str[::-1]
if reversed_str == num_str:
return "YES"
else:
return "NO"
num = input("请输入一个三位整数:")
if len(num) == 3 and num.isdigit():
#isdigit函数是Python中的内置函数,它用于检查字符串是否只包含数字字符
print(is_palindrome(int(num)))
else:
print("输入无效请重新输入一个三位整数:")
#方法二:数学判断:
def is_palindrome(num):
'''
功能:判断一个数是不是回文数
num:输入一个整数
'''
original_num = num
reversed_num = 0
while num > 0:
#构建最后一位数字
reversed_num = reversed_num * 10 + num % 10
#原来的num就去掉最后一位数字
num = num // 10
#比较原来的数字与反转后的数字是否是相等的
if original_num == reversed_num:
return "YES"
else:
return "NO"
num = int(input("请输入一个三位整数:"))
if 100 <= num <= 999:
print(is_palindrome(num))
else:
print("输入无效,请重新输入一个三位数")
题目描述
判断两个矩形之间的关系:包含,重叠,相离
输入输出描述
输入两行,每行四个数据,分别是矩形的中心坐标x、y和矩形的宽、高
输出两者的关系
代码如下:
def rectangle_relation(rect1, rect2):
# 解析矩形1的参数
x1, y1, w1, h1 = rect1
# 解析矩形2的参数
x2, y2, w2, h2 = rect2
# 矩形1的边界坐标
left1 = x1 - w1/2
right1 = x1 + w1/2
top1 = y1 + h1/2
bottom1 = y1 - h1/2
# 矩形2的边界坐标
left2 = x2 - w2/2
right2 = x2 + w2/2
top2 = y2 + h2/2
bottom2 = y2 - h2/2
# 判断关系
if left1 > right2 or left2 > right1 or bottom1 > top2 or bottom2 > top1:
return "相离"
elif left1 == left2 and right1 == right2 and top1 == top2 and bottom1 == bottom2:
return "重叠"
else:
return "包含"
# 输入两个矩形的参数
rect1 = list(map(float, input("请输入第一个矩形的中心坐标x、y和宽高(空格分隔):").split()))
rect2 = list(map(float, input("请输入第二个矩形的中心坐标x、y和宽高(空格分隔):").split()))
# 判断两个矩形的关系并输出结果
relation = rectangle_relation(rect1, rect2)
print("两个矩形之间的关系是:", relation)