GDUFE Python实验1

news2024/9/20 21:31:39
'''
@Task:实验1
@Author:yjy
@Time:2024/09/20
'''

# 1. 用户输入一个三位自然数,计算并输出其百位、十位、个位上的数字,并求和
num = int(input("请您输入一个三位数:"))
hundred_place = num//100
ten_place = num//10 % 10
single_place = num % 10
print(f"您输入的三位数中百位:{hundred_place},十位:{ten_place},个位:{single_place}")

'''
Method2
divmod(a.b) ==> 把除数和余数运算结果结合起来,返回一个商和余数的元组(a//b,a%b).
举个栗子:divmod(7,2) ==> (3,1)
知道了这点 我们就可以接着往下看如何用这个函数来解决这个问题:
'''
num = int(input("请您输入一个三位数:"))
hundred_place,ten_place = divmod(num,100) # (num//100,num%100)
ten_place,single_place = divmod(ten_place,10) # (ten_place//10,ten_place%10)
print(f"您输入的三位数中百位:{hundred_place},十位:{ten_place},个位:{single_place}")

'''
Method3
map(function, iterable, ...)

在IDLE写的代码:
>>> def square(x) :         # 计算平方数
...     return x ** 2
...
>>> map(square, [1,2,3,4,5])    # 计算列表各个元素的平方
<map object at 0x100d3d550>     # 返回迭代器
>>> list(map(square, [1,2,3,4,5]))   # 使用 list() 转换为列表
[1, 4, 9, 16, 25]
>>> list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))   # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]

>>>
'''
num = input('请您输入一个三位数:') # 注意我这里没有墙砖
hundred_place,ten_place,single_place = map(int,num)
print(f"您输入的三位数中百位:{hundred_place},十位:{ten_place},个位:{single_place}")


# 2. 已知三角形的两边长及其夹角,求第三边
# '''
# 采用高中所学的余弦定理
# '''
import math


def find_third_side(a: float, b: float, theta_degrees: float) -> float:
    """
    计算三角形第三边的长度。

    参数:
    a (float): 三角形的第一边
    b (float): 三角形的第二边
    theta_degrees (float): 两边之间的夹角,单位为度

    返回:
    float: 第三边的长度
    """
    # 将角度转换为弧度,因为math.cos使用的是弧度制
    theta_radians = math.radians(theta_degrees)

    # 应用余弦定理计算第三边的长度
    c_squared = a ** 2 + b ** 2 - 2 * a * b * math.cos(theta_radians)

    # 返回第三边的长度,取正平方根 边肯定为正的
    return math.sqrt(c_squared)


if __name__ == '__main__':
    a = 5
    b = 7
    theta_degrees = 60

    third_side = find_third_side(a, b, theta_degrees)
    print(f"第三边的长度为: {third_side:.2f}")

# 3. 任意输入3个英文单词,按字典顺序排序输出
def sort_words():
    """
    任意输入3个英文单词,并按字典顺序排序后输出。
    """
    # 输入3个英文单词
    word1 = input("请输入第一个英文单词: ")
    word2 = input("请输入第二个英文单词: ")
    word3 = input("请输入第三个英文单词: ")

    # 将输入的单词存储到列表中
    words = [word1, word2, word3]

    # 按字典顺序对单词进行排序
    words.sort()

    # 输出排序后的单词
    print("按字典顺序排序后的单词为:")
    for word in words:
        print(word)


# 示例用法
sort_words()

# 4. 任意输入一串数字,按降序排序
def sort_numbers_desc():
    """
    任意输入一串数字,并按降序排序后输出。
    """
    # 输入一串数字,并将它们分割为列表
    numbers = input("请输入一串数字(用空格分隔): ").split()

    # 将字符串列表转换为整数列表
    numbers = [int(num) for num in numbers]

    # 对数字列表按降序排序
    numbers.sort(reverse=True)

    # 输出排序后的数字
    print("按降序排序后的数字为:")
    print(numbers)


# 示例用法
sort_numbers_desc()

# 5. 输入一个温度值,进行转换,要求能进行摄氏温度和华氏温度之间的互转。
def celsius_to_fahrenheit(celsius: float) -> float:
    """
    将摄氏温度转换为华氏温度。

    参数:
    celsius (float): 摄氏温度

    返回:
    float: 转换后的华氏温度
    """
    return (celsius * 9 / 5) + 32


def fahrenheit_to_celsius(fahrenheit: float) -> float:
    """
    将华氏温度转换为摄氏温度。

    参数:
    fahrenheit (float): 华氏温度

    返回:
    float: 转换后的摄氏温度
    """
    return (fahrenheit - 32) * 5 / 9


def temperature_conversion():
    """
    根据用户输入的温度值和温标,进行摄氏温度和华氏温度的转换。
    """
    # 用户选择转换方向
    print("请选择转换类型:")
    print("1. 摄氏温度转换为华氏温度")
    print("2. 华氏温度转换为摄氏温度")
    choice = input("请输入选项 (1 或 2): ")

    # 根据选择进行相应的温度转换
    if choice == '1':
        celsius = float(input("请输入摄氏温度: "))
        fahrenheit = celsius_to_fahrenheit(celsius)
        print(f"{celsius:.2f} 摄氏度 = {fahrenheit:.2f} 华氏度")
    elif choice == '2':
        fahrenheit = float(input("请输入华氏温度: "))
        celsius = fahrenheit_to_celsius(fahrenheit)
        print(f"{fahrenheit:.2f} 华氏度 = {celsius:.2f} 摄氏度")
    else:
        print("无效的选项,请输入1或2。")


# 示例用法
temperature_conversion()

# 6. 编写程序:输入两个集合A 和B(使用input函数通过键盘赋值),输出它们的交集、并集和差集
def get_set_input(prompt: str) -> set:
    """
    通过键盘输入集合,并将输入的内容转换为集合类型。

    参数:
    prompt (str): 输入提示信息

    返回:
    set: 输入的集合
    """
    # 输入集合元素,以空格分隔,使用split()将字符串分割为列表,再转换为集合
    return set(input(prompt).split())


def set_operations():
    """
    输入两个集合A和B,输出它们的交集、并集和差集。
    """
    # 输入集合A和集合B
    set_A = get_set_input("请输入集合A的元素(用空格分隔): ")
    set_B = get_set_input("请输入集合B的元素(用空格分隔): ")

    # 计算交集、并集和差集
    intersection = set_A & set_B  # 交集
    union = set_A | set_B  # 并集
    difference = set_A - set_B  # 差集(A - B)

    # 输出结果
    print(f"集合A: {set_A}")
    print(f"集合B: {set_B}")
    print(f"A 和 B 的交集: {intersection}")
    print(f"A 和 B 的并集: {union}")
    print(f"A 和 B 的差集(A - B): {difference}")


# 示例用法
set_operations()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2150151.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(四)-搜索

搜索 搜索内容比较多&#xff0c;onesearch分成两部分&#xff0c;第一部分&#xff0c;Query构建&#xff0c;其中包括搜索词设置&#xff0c;设置返回字段&#xff0c;filter&#xff0c;高亮&#xff1b;第二部分分页和排序。第一部分是映射引擎负责&#xff0c;映射通用表…

SAP B1 流程实操 - 营销单据销售部分(下)

背景 在 SAP B1 中&#xff0c;最重要的模块就是【销售】&#xff0c;企业可能不涉及生产和库存&#xff08;贸易公司&#xff09;&#xff0c;甚至不涉及采购&#xff08;服务业&#xff09;&#xff0c;但是一定会有基本的 销售。本文中我们讲解 销售 模块的基本核心&#x…

2024年最新苹果cms升级插件【泛目录专用】

苹果CMS是一款专为视频内容管理而设计的系统&#xff0c;近年来在视频站点搭建中逐渐成为热门选择。其直观的用户界面和灵活的管理功能&#xff0c;使得无论是新手还是专业开发者都能轻松上手。 苹果CMS提供了多种主题和模板&#xff0c;用户可以根据自身需求进行定制&#xf…

Python画笔案例-054 绘制流光溢彩动画

1、绘制流光溢彩动画 通过 python 的turtle 库绘制 流光溢彩动画&#xff0c;如下图&#xff1a; 2、实现代码 绘制流光溢彩动画&#xff0c;以下为实现代码&#xff1a; """本程序实现流光溢彩的动画效果 """ from turtle import * from color…

from tqdm.auto import tqdm用法详细介绍

tqdm 是一个 Python 库&#xff0c;用于在长时间运行的任务中显示进度条。tqdm.auto 是 tqdm 的一个版本&#xff0c;能够自动适配输出环境&#xff08;如 Jupyter Notebook、命令行等&#xff09;&#xff0c;以确保进度条在各种环境下显示正确。下面是 tqdm.auto 的详细用法介…

【刷题】杨辉三角

目录 杨辉三角题目描述解题思路解题代码 相同的树题目描述解题思路 二叉树的层序遍历题目描述解题思路解题代码从底层层序遍历 二叉树的最近公共祖先题目描述解题思路 从前序与中序遍历序列构建二叉树题目描述解题思路 从后序与中序遍历序列构建二叉树题目描述解题思路 根据二叉…

SAP-MM-变式的设置

1、报表变式 业务需求: 业务人员查询报表时有些值是需要经常输入的,能不能设置成默认值?能不能设置成每次进入报表不选择变式直接是默认值? 解决措施: 1、事物码:MB51 以MB51物料凭证查询为例,其他报表自行举一反三 2、设置变式 首先进入MB51入下图 上图是没有选…

任天堂发言人:不会透露起诉《幻兽帕鲁》开发商细节

任天堂在昨天突然宣布将起诉《幻兽帕鲁》开发商 Pocketpair&#xff0c;除了引起许多玩家不满外&#xff0c;更多的是所有人的疑惑&#xff1a;因为实际上大家内心里觉得任天堂出手是理所当然的&#xff0c;但是为什么是在游戏发布数月后才选择起诉&#xff1f;此次诉讼是“专利…

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)2.1-2.2

目录 第四门课 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09;第二周 深度卷积网络&#xff1a;实例探究&#xff08;Deep convolutional models: case studies&#xff09;2.1 为什么要进行实例探究&#xff1f;&#xff08;Why look at case studies?&…

Python编码系列—Python外观模式:简化复杂系统的快捷方式

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

生信初学者教程(八):数据收集

文章目录 数据分布表达谱数据最终数据分布自动下载GSE14520下载GSE149614下载其它数据在确定研究疾病为肝细胞癌**(Liver Hepatocellular Carcinoma: HCC)**后,系统地进行了文献回顾,专注于搜索与HCC相关的荟萃分析文章,以获取该领域的研究动态和已有成果。为了支持的研究…

卡车配置一键启动无钥匙进入手机控车

‌ 卡车智能一键启动无钥匙进入手机控车&#xff0c;通过手机应用程序与汽车内置硬件、软件的无线通信&#xff0c;实现对汽车的远程控制‌。 卡车改装一键启动的步骤包括安装门把手的感应装置、拆卸仪表台和门板&#xff0c;取出内部的待接线束&#xff0c;并将一键启动…

MySQL高阶1875-将工资相同的雇员分组

目录 题目 准备数据 分析数据 题目 编写一个解决方案来获取每一个被分配到组中的雇员的 team_id 。 返回的结果表按照 team_id 升序排列。如果相同&#xff0c;则按照 employee_id 升序排列。 这家公司想要将 工资相同 的雇员划分到同一个组中。每个组需要满足如下要求&a…

springboot结合p6spy进行SQL监控

1.学习p6spy的相关链接 英文文档&#xff1a;Integrating P6Spy — p6spy 3.9.2-SNAPSHOT documentationhttps://p6spy.readthedocs.io/en/latest/integration.html github链接&#xff1a;GitHub - p6spy/p6spy: P6Spy is a framework that enables database data to be sea…

solana项目counter,测试过程中执行报错记录分享

跟随HackQuest部署counter项目&#xff0c;使用 Solana 官方提供的 playgroud 。这个平台让我们的部署和测试过程变得更加简便高效。 合约代码 lib.rs中复制以下代码 use anchor_lang::prelude::*; use std::ops::DerefMut;declare_id!("CVQCRMyzWNr8MbNhzjbfPu9YVvr97…

12种常见的华为杯数学建模竞赛matlab代码(建议收藏)

1.使用神经网络模型(向量量子化方法LVQ)解决分类/预测问题 clc;clear;​% 第一类蝗虫的触角和翅膀p1 [1.24, 1.27; 1.36, 1.74; 1.38, 1.64; 1.38, 1.82; 1.38, 1.90; 1.40, 1.70; 1.48, 1.82; 1.54, 1.82; 1.56, 2.08];​% 第二类蝗虫的触角和翅膀p2 [1.14, 1.82;…

电脑视频编辑常用软件:12个在线视频剪辑方法,这份免费攻略真实在!

您是否曾为视频剪辑而感到困惑&#xff0c;不知从何入手&#xff1f;面对众多的视频编辑软件和复杂的操作流程&#xff0c;怎样才能快速上手&#xff0c;制作出高质量的视频呢&#xff1f;许多内容创作者在编辑或上传较长视频时&#xff0c;常常遭遇到时间和质量的困扰。为了解…

利用Metasploit进行信息收集与扫描

Metasploit之信息收集和扫描 在本文中&#xff0c;我们将学习以下内容 使用Metasploit被动收集信息 使用Metasploit主动收集信息 使用Nmap进行端口扫描 使用db_nmap方式进行端口扫描 使用ARP进行主机发现 UDP服务探测 SMB扫描和枚举 SSH版本扫描 FTP扫描 SMTP枚举 …

【计算机网络 - 基础问题】每日 3 题(十三)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

关于安卓App自动化测试的一些想法

安卓App自动化一般使用PythonAppium。页面元素通常是使用AndroidStudio中的UI Automator Viewer工具来进行页面元素的追踪。但是这里涉及到一个问题就是&#xff0c;安卓apk在每次打包的时候&#xff0c;会进行页面的混淆以及加固&#xff0c;所以导致每次apk打包之后会出现页面…