Day015

本文介绍了如何使用DOM方法创建、添加、移除等操作网页元素,以及如何利用MySQL进行表的创建、数据的插入、更新和删除等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript 简答题

DOM 操作怎样添加、移除、移动、复制、创建和查找节点?

1、创建新节点
创建一个具体的元素: createElement()
创建一个文本节点:createTextNode()
2、添加、移除、替换、插入
添加:appendChild()
移除:removeChild()
替换:replaceChild()
插入:insertBefore() 在已有的子节点前插入一个新的子节点
3、查找
通过标签名称:getElementsByTagName()
通过元素的Name属性的值:getElementsByName()
通过元素Id:getElementById()


MySQL 简答题

表名 food:

字段名字段描述数据类型外键非空唯一自增
id编号INT
name食品公司VARCHAR(20)
company生产厂商VARCHAR(30)
price价格(单位:元)FLOAT
produce_time生产年份YEAR
validity_time保质期(单位:年)INT
address厂址VARCHAR(50)

1.写出创建表的 SQL 语句;

CREATE TABLE food(
    id INT PRIMARY KEY NOT NULL UNIQUE AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    company VARCHAR(30) NOT NULL,
    price FLOAT,
    produce_time YEAR,
    validity-time INT,
    address VARCHAR(50)
);

2.将下边的记录插入到 food 表中

idnamecompanypriceproduce_timevalidity_timeaddress
1AA饼干AA饼干厂2.520133北京
2CC牛奶CC牛奶3.520142河北
3EE果冻EE果冻厂1.520151北京
4FF咖啡FF咖啡厂2020025天津
5GG奶糖GG奶糖厂1420173广东
-- 第一种方法不指定具体的字段
INSERT  INTO  food  
VALUES(NULL,'AA饼干','AA饼干厂', 2.5 ,'2013', 3 ,'北京');
-- 第二种方法是依次指定food表的字段
INSERT  INTO  food( name, company, price, produce_time, validity_time, address)  
VALUES('CC牛奶','CC牛奶厂', 3.5 ,'2014', 2 ,'河北');
-- 第三种方法是同时插入多条记录
INSERT  INTO  food  VALUES
(NULL,'EE果冻','EE果冻厂', 1.5 ,'2015', 1 ,'北京') ,
(NULL,'FF咖啡','FF咖啡厂', 20 ,'2002', 5 ,'天津') ,
(NULL,'GG奶糖','GG奶糖', 14 ,'2017', 3 ,'广东');

3.将「CC牛奶厂」的厂址(address)改为「内蒙古」,并且将价格改为 3.2。

UPDATE food SET address='内蒙古',price=3.2 WHERE name='CC牛奶';

4.将厂址在北京的公司保质期(validity_time)都改为 5 年。

UPDATE food SET validity_time=5 WHERE address='北京';

5.删除过期食品的记录。若当前时间-生产年份(produce_time)>保质期(validity_time),则视为过期食品。

DELETE FROM food WHERE address='北京';

6.删除厂址为北京的食品的记录。

DELETE FROM food WHERE address='北京';

Java 编程题

将 100 元纸币兑换成 10 元、5 元和 1元纸币共 20 张,输出各种兑换法,并统计个数。

package test;

public class Day014 {
    public static void main(String[] args) {
        System.out.println("兑换方式如下:");
        int a, b, c, count = 0;
        for (a = 0; a <= 10; a++)
            for (b = 0; b <= 20; b++)
                for (c = 0; c <= 100; c++)
                    if (((a + b + c) == 20) && (10 * a + 5 * b + c == 100)) {
                        System.out.println("10元张数:" + a + ", 5元张数" + b + ", 1元张数:" + c);
                        count++;
                    }
        System.out.println("一共有" + count + "种兑换方法。");
    }
}
import pandas as pd import akshare as ak import warnings warnings.filterwarnings(‘ignore’) ======参数设置====== start_date = ‘20100101’ #开始日期 end_date = ‘20250320’ #结束日期 ma_length = 26 #均线长度 cost = 0.0003 #交易费率,万三 获取美债收益率数据 bond_df = ak.bond_zh_us_rate(start_date=start_date) bond_df[‘日期’] = bond_df[‘日期’].apply(lambda x: x.strftime(‘%Y-%m-%d’)) 获取沪深300指数数据 hs300_df = ak.index_zh_a_hist(symbol=‘000300’, period=‘daily’, start_date=start_date, end_date=end_date) hs300_df[‘涨跌幅’] = hs300_df[‘涨跌幅’] / 100.0 #将百分比转化成小数形式 合并数据,以沪深300日期为准 df = pd.merge(hs300_df[[‘日期’, ‘收盘’, ‘涨跌幅’]].rename(columns={‘收盘’:‘沪深300’}), bond_df[[‘日期’,‘美国国债收益率10年’]].rename(columns={‘美国国债收益率10年’:‘美债收益率’}), on=‘日期’, how=‘left’).fillna(method=‘ffill’).reset_index(drop=True) df[‘日期’] = pd.to_datetime(df[‘日期’]) # ======获取每周最后一个交易日====== rule:重采样频率,W-周频,M-月频 week_df = df.resample(rule=‘W’, on=‘日期’).agg({‘日期’:‘last’,‘美债收益率’:‘last’}).dropna() week_df[‘美债收益率MA’] = week_df[‘美债收益率’].rolling(ma_length).mean() week_df[‘周最后交易日’] = 1 week_df.index.name = ‘date’ # 拼接数据 day_df = pd.merge(df.drop(columns=[‘美债收益率’]), week_df, on=‘日期’, how=‘left’) day_df[‘周最后交易日’] = day_df[‘周最后交易日’].fillna(value=0) # 生成交易信号 如果 r-r_ma(26)<0,认为情绪偏多,今日只能看到昨日的数据 day_df.loc[((day_df[‘美债收益率’]-day_df[‘美债收益率MA’]).shift(1)<0) & (day_df[‘周最后交易日’].shift(1)>0), ‘signal’] = 1 如果 r-r_ma(26)>0,认为情绪偏空,今日只能看到昨日的数据 day_df.loc[((day_df[‘美债收益率’]-day_df[‘美债收益率MA’]).shift(1)>0) & (day_df[‘周最后交易日’].shift(1)>0), ‘signal’] = -1 day_df = day_df.set_index(‘日期’, drop=True) # 将交易信号转化为持仓 day_df[‘signal’] = day_df[‘signal’].fillna(method=‘ffill’).fillna(value=0) day_df[‘position’] = day_df[‘signal’].shift(1).fillna(value=0) #收盘交易,下一日才会有持仓 考虑交易成本 day_df[‘after_cost’] = 1.0 day_df.loc[day_df[‘signal’] != day_df[‘signal’].shift(1), ‘after_cost’] = (1.0 + cost) * (1.0 + cost) #开平仓各收一次手续费 day_df.loc[(day_df[‘signal’].shift(1) == 0) & (day_df[‘signal’] != 0), ‘after_cost’] = 1.0 + cost #第一次开仓只收一次手续费 day_df.loc[day_df.index[0], ‘after_cost’] = 1.0 # 画出净值曲线图 import matplotlib.pyplot as plt plt.rcParams[‘font.sans-serif’] = [‘SimHei’] plt.rcParams[‘axes.unicode_minus’] = False 择时策略的日收益率 day_df[‘strategy_pct’] = day_df[‘涨跌幅’] * day_df[‘position’] #策略和沪深300的净值 day_df[‘strategy’] = (1.0 + day_df[‘strategy_pct’]).cumprod() / day_df[‘after_cost’].cumprod() day_df[‘benchmark’] = (1.0 + day_df[‘涨跌幅’]).cumprod() 粗略计算年化收益率 annual_return = 100 * (pow(day_df[‘strategy’].iloc[-1], 250/day_df.shape[0]) - 1.0) print(‘美债收益率大盘择时策略的年化收益率:%.2f%%’ %annual_return) #将索引从字符串转换为日期格式,方便展示 ax = day_df[[‘strategy’,‘benchmark’]].plot(figsize=(16,8), color=[‘SteelBlue’,‘Red’], grid=True, title=‘美债收益率大盘择时策略净值’) plt.show() 给上述代码再加上最大回撤及夏普比率 卡玛比率代码 比较基准也一块加上
最新发布
03-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值