Datawhale组队学习专用-chap3_hw

本文介绍了一系列编程题目,包括求平方根、计算平方、判断奇偶、确定范围以及检查圆是否相交,展示了Python中的基本操作和数学应用。
摘要由CSDN通过智能技术生成

第一题:

Square Root
题目描述
我们会输入一个数字 x1,你需要编写程序,求解其平方根并返回求解后的值。本题只考虑平方根存在的情形。 注意,我们希望所有以浮点数输出的值都能够保留两位小数

输入格式
一个数字,数字类型为整数或浮点数 。

输出格式
一个浮点数,代表该数的平方根值,结果保留两位小数。

输入样例-1
9
输出样例-1
3.00
import ast
import math
x1 = ast.literal_eval(input())
print('%.2f' %math.sqrt(float(x1)))#先将x1变成浮点数,然后使用math.sqrt()求平方根

第二题:

Square
题目描述
我们会输入一个数字x1,你需要编写程序,求解这个数字的平方。

输入格式
一个数字,数字类型为整型数或浮点型数。

输出格式
一个浮点数,保留两位小数。

输入样例-1
10
输出样例-1
100.00
输入样例-2
3.14
输出样例-2
9.86
import ast
x1 = ast.literal_eval(input())
print('%.2f' %pow(float(x1), 2)) #需要将x转成浮点数类型,然后使用pow函数2代表平方

第三题

Odd number
题目描述
我们会输入一个整型数 x1,你需要编写程序,判断这些数是奇数还是偶数,并且返回相应格式的内容。

输入格式
一个int整型数。

输出格式
若是奇数则输出True,否则输出False。

输入样例-1
8
输出样例-1
False
输入样例-2
3
输出样例-2
True
import ast
import math
x1 = ast.literal_eval(input())
def isO(x1):
    if x1 % 2 == 0:#是偶数对2取模一定是0
       print("False")
    else:
        print("True")
isO(x1)

第四题:

Range
题目描述
我们会输入两个数字x1和x2,你需要编写程序,求解其上界与下界并返回相应的值。

输入格式
输入两个int整型数,用逗号分隔。

输出格式
分别输出下界和上界,中间以空格隔开,具体见输出样例。

输入样例-1
19,12
输出样例-1
12 19
输入样例-2
10,20
输出样例-2
10 20
import ast
x1, x2 = ast.literal_eval(input())
# 现在程序中有变量x1和x2
if x1 >= x2:
    print(x2, x1)
else:
    print(x1, x2)

第五题:

circlesIntersect
题目描述
(最后编辑于20231021日)

我们会输入 6 个数字 x1,y1,r1,x2,y2,r2 它们代表两个圆,圆心分别为 (x1, y1)(x2, y2) ,半径分别为 r1 和 r2。你需要编写程序,判断两个圆是否相交,若相交则返回 True ,否则返回 False。(相交指两个圆在一个或多个点接触或重叠)。

输入格式
六个数字,数字类型为整数或者浮点数,以逗号分隔。

输出格式
True 或者 False,判断两个圆是否相交。

输入样例
0,0,2,3,0,2
输出样例
True
import ast
import math
x1, y1, r1, x2, y2, r2 = ast.literal_eval(input())
# 现在程序中有六个变量,x1, y1, r1, x2, y2, r2
r = abs(r1 - r2)#abs函数求绝对值
x = abs(x1 - x2)
y = abs(y1 - y2)
x = pow(x, 2)
y = pow(y, 2)
d = abs(float( math.sqrt(x) + math.sqrt(y)))#求两圆圆心距离
if r <= d <= r1 + r2:#圆心的距离和两圆心距离比较,内切,外切,相交三种情况是由交点,只有在两圆半径之和与差之间才会有两个交点
    print("True")
else:
    print("False") 


import ast
import math
x1, y1, r1, x2, y2, r2 = ast.literal_eval(input())
# 现在程序中有六个变量,x1, y1, r1, x2, y2, r2
def do_circles_intersect(x1, y1, r1, x2, y2, r2):
    # 计算圆心之间的距离
    d = ((x1 - x2) ** 2 + (y1 - y2) ** 2) ** 0.5
    
    # 比较距离和半径
    if d > r1 + r2:
         print("False") # 相离
    elif d == r1 + r2:
        print("True")  # 外切
    elif abs(r1 - r2) < d < r1 + r2:
        print("True")   # 相交
    elif d == abs(r1 - r2):
        print("True")   # 内切
    elif d < abs(r1 - r2):
        print("False")  # 一个圆在另一个圆的内部
    else:
        print("False")  # 应该是不可能的情况
 
do_circles_intersect(x1, y1, r1, x2, y2, r2)
引用: 在看关于卡尔曼滤波的教程时,提到了一个文件chap1_27f.m,这个文件仿真结果没有问题,但是输出的结果都是关于变量Y(n)的。用户想知道是否有办法可以显示出变量X(n)的变化过程。 引用: 在尝试在Simulink中运行文件时,出现了一个错误信息,指出在flag=1调用期间,由S-Function返回的状态导数必须是长度为4的实向量。用户在flag=1中保持了长度为4,并且使用了实代数方程,但仍然出现了复杂向量的问题。用户想知道为什么出现这个问题。 关于第一个问题,根据提供的引用内容,无法得知matlab中chap5_3f是什么。请提供更多关于chap5_3f的信息,我将尽力提供帮助。 关于第二个问题,根据引用,出现的错误信息是由于S-Function返回的状态导数的长度不匹配。这可能是因为在flag=1调用中的实向量的长度与期望的长度不一致。建议仔细检查代码中与S-Function相关的部分,确保状态导数的长度正确,并且与S-Function的要求相匹配。如果问题仍然存在,请提供更多关于代码和错误消息的信息,以便我能够提供更具体的帮助。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [卡尔曼滤波求教-chap1_27f.m](https://download.csdn.net/download/weixin_39841856/11536026)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [倒立摆系统的 S 函数文件:S 函数 simulink 错误:在 flag=1 调用期间必须是长度为 4 的实向量...-matlab开发](https://download.csdn.net/download/weixin_38742954/19223894)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值