Python基础Day6HW

本文通过多个实例讲解了Python中字符串的基本操作,包括查找子串、拼接字符、大小写转换、判断回文串及翻转句子等常见任务。
####chapter 6 字符列表

s,w = input().split(",")

# 现在程序中有两个变量,s和w

# 输入一串非空字符串S和一个单词W,要求编写程序,判断单词W是否存在于字符串S当中,并输出响应内容

def FindYou(s, w):

    if  s and  w:

        index = s.find(w)

        if index != -1:

            return f"The starting point of {s} is {index + 1}"

        else:

            return "not found"

    else:

        return "not found"

       

print(FindYou(s, w))





str1,str2,str3 = input().split(",")

# 现在程序中有三个字符串,str1,str2,str3

# 输入三串字符串(逗号隔开)str1,str2,str3,提取每串字符串最末端一个字符,合并组成一个新的字符串并输出。

def NewString(str1,str2,str3):

    last_str=[str1[-1],str2[-1],str3[-1]]

    new_str="".join(last_str)

    return new_str

print(NewString(str1,str2,str3))





str1 = input()

# 现在程序中有一个字符串,str1(一串非空字符串str1,只包含大小写字母元素)

# 将其中所有的大写字母和小写字母进行转换

def Upper_and_Lower(str1):

    result = ""

    for char in str1:##从左边字符开始

        if char.isupper():

        ##char.isupper()True Faluse

            result += char.lower()

        elif char.islower():

            result += char.upper()

    return result

print(Upper_and_Lower(str1))







str1,str2,str3 = input().split(",")

# 现在程序中有三个字符串,str1,str2,str3

# 输入三串字符串(逗号隔开)str1,str2,str3,判断这些字符串是否为回文字符串,如果是则输出T,否则输出F

def isPalindrome1(str):

    if str==str[ ::-1]:

        return f"T"

    else:

        return f"F"

def isPalindrome(str1,str2,str3):

    result1=isPalindrome1(str1)

    result2=isPalindrome1(str2)

    result3=isPalindrome1(str3)

    return f"{result1},{result2},{result3}"

print(isPalindrome(str1,str2,str3))





str1 = input()

# 现在程序中有一个变量,名为str1

# 输入一串句子(不含标点符号),单词与单词之间以空格隔开,将单词顺序进行翻转,但不翻转每个单词的内容。

def Rotate_sentence(str1):

    new_str1 = ""

    words = str1.split(" ")

    for i in range(len(words) - 1, -1, -1):  # 从最后一个单词开始逆序遍历单词列表

        ##range 从len()-1 到 0

        new_str1 += words[i] + " "  # 将每个单词添加到新的字符串中,并在单词之间添加空格

    return new_str1.strip()  # 去除最后一个单词后面多余的空格

print(Rotate_sentence(str1))

### 李宏毅 2021 机器学习 Homework 1 的资料 李宏毅教授的《机器学习》课程在全球范围内广受欢迎,其配套的作业也成为了许多学生和从业者的学习资源。Homework 1 主要围绕线性回归模型展开,涉及数据预处理、特征工程以及模型训练等内容。 #### 数据集介绍 在 Homework 1 中使用的数据集主要来源于空气质量监测数据[^1]。该数据集中包含了多个传感器采集到的不同时间段内的空气污染物浓度以及其他气象因素的信息。通过这些数据,目标是预测特定时间点上的 PM2.5 浓度。 以下是数据加载与初步清理的部分代码示例: ```python import sys import numpy as np import pandas as pd # 加载 CSV 文件并跳过无关列 data = pd.read_csv('hwdata/hw1/train.csv', encoding='big5') data = data.iloc[:, 3:] # 前三列为无意义字段,去除掉 data[data == 'NR'] = 0 # 将缺失值替换为零 raw_data = data.to_numpy() # 转换为 NumPy 数组以便后续操作 ``` 这段代码展示了如何从原始文件中读取数据,并将其转换成适合进一步分析的形式[^2]。 #### 特征提取过程 为了构建有效的输入向量用于训练模型,在完成基本的数据导入之后还需要执行一系列步骤来提取有用的特性。下面是一段关于按月份组织每日采样片段的例子: ```python month_data = {} for month in range(12): sample = np.empty([18, 480]) for day in range(20): sample[:, 24*day : 24*(day+1)] = \ raw_data[18 * (20*month + day) : 18 * (20*month + day + 1), :] month_data[month] = sample ``` 此脚本按照每个月份分别存储每天连续二十四小时的各项指标测量结果[^2]。 #### 进一步优化建议 除了基础的任务实现外,还可以尝试多种方法改进性能,比如调整批量大小(batch size),改变激活函数类型等等。例如增大批次尺寸至更高数值如 `128` 或者甚至更大可以加速收敛速度;而选用 ReLU 替代 sigmoid 则有助于缓解梯度消失现象的发生概率[^3]。 --- ### 总结 综上所述,针对李宏毅老师的 Machine Learning Course - Homework 1 ,我们不仅了解到了具体的编程实践细节还包括了一些可能提升效果的技术手段探讨。希望以上信息能够帮助您更好地理解这份功课的要求及其解决方案思路!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值