网易编程题目——相反数:

网易相反数:
为了得到一个数的"相反数",我们将这个数的数字顺序颠倒,然后再加上原先的数得到"相反数"。例如,为了得到1325的"相反数",首先我们将该数的数字顺序颠倒,我们得到5231,之后再加上原先的数,我们得到5231+1325=6556.如果颠倒之后的数字有前缀零,前缀零将会被忽略。例如n = 100, 颠倒之后是1.
输入描述:

输入包括一个整数n,(1 ≤ n ≤ 10^5)

输出描述:
输出一个整数,表示n的相反数
输入例子1:
1325

输出例子1:
6556


解题思路:
应用字符串知识。
1:首先将原字符n串取反输出得到相反字符串Inv;
2:然后判断Inv首字母是否为‘0’,若为’0’则删除(用’'替换)——此时编写一个替换函数replaceString(string, num, replace),直至首字母不为零为止,因此整个过程用while循环来完成——得到最终的Inv。
3:对n和Inv进行类型转换(字符串转换成int类型)并相加输出。


# -*- coding: utf-8 -*-
def replaceString(string, num, replace):
    string2 = ''
    for i in range(len(string)):
        if i == num:
            string2 += replace
        else:
            string2 += string[i]
    return string2

def InverseNum(n):
    Inv=''
    for i in range(len(n)):
        Inv=Inv+n[len(n)-1-i]
    
    while(not int(Inv[0])):
        Inv=replaceString(Inv, 0, '')
        
    return int(Inv)+int(n)

def main():
    n=input()
    Inv=InverseNum(n)
    print(Inv)

main()

运行结果:
这里写图片描述

``` {—————————————— 系统参数模块 ——————————————} {——估体系——} DYNPETTM := IF(FINANCE(33)>0, CLOSE/(FINANCE(33)/FINANCE(1)+0.0001), 1000); PB_RATE := IF(FINANCE(5)>0, CLOSE/(FINANCE(5)/FINANCE(1))+0.0001, 1000); PEG_VAL := DYNPETTM/(FINANCE(33)/FINANCE(1)/FINANCE(34)*100+0.0001); {——波动率自适应系统——} VOLATILITY := STD(CLOSE,20)/MA(CLOSE,20); VAR_PERIOD := IF(VOLATILITY<0.08,55,IF(VOLATILITY<0.15,34,21)); FAST_LEN := MAX(5, INTPART(VAR_PERIOD*0.382 + 0.5)); SLOW_LEN := MIN(60, INTPART(VAR_PERIOD*1.618 + 0.5)); SGNL_LEN := IF(VAR_PERIOD<=21,7,9); {——多周期参数优化——} KDJ_N := IF(VOLATILITY<0.1,14,9); RSI_N := IF(VOLATILITY<0.15,14,7); BOLL_N := 20; MOM_N := IF(VOLATILITY>0.2,13,21); {—————————————— 核心指标系统 ——————————————} {——MACD自适应系统——} DIF := EMA(CLOSE,FAST_LEN) - EMA(CLOSE,SLOW_LEN); DEA := EMA(DIF,SGNL_LEN); MACD := 2*(DIF-DEA); {——均线系统强化——} MA5 := MA(CLOSE,5); MA10 := MA(CLOSE,10); MA20 := EMA(CLOSE,20); MA60 := EMA(CLOSE,60); TREND_ARR := MA5 > MA10 AND MA10 > MA20 AND MA20 > MA60; {——量能系统优化——} VOL_MA5 := MA(VOL,5); VOL_MA20 := EMA(VOL,20); VOL_SIG := VOL > VOL_MA20*1.5 AND VOL > REF(HHV(VOL,5),1)*1.2; {——动量确认系统——} MOMENTUM := EMA(CLOSE,5)/REF(EMA(CLOSE,MOM_N),5)-1; WEEK_CHG := (CLOSE-REF(CLOSE,5))/REF(CLOSE,5)*100; MOM_CONF := EMA(CLOSE,5) > EMA(CLOSE,13) AND CLOSE > HHV(CLOSE*0.75,34); {——KDJ系统优化——} RSV := (CLOSE-LLV(LOW,KDJ_N))/(HHV(HIGH,KDJ_N)-LLV(LOW,KDJ_N)+0.0001)*100; K := SMA(RSV,3,1); D := SMA(K,3,1); J := 3*K-2*D; KDJ_GC := CROSS(K,D) AND D < 45; {——布林带系统——} MID := MA(CLOSE,BOLL_N); UPPER := MID + 2*STD(CLOSE,BOLL_N); LOWER := MID - 2*STD(CLOSE,BOLL_N); BWIDTH := (UPPER-LOWER)/MID*100; {—————————————— 信号生成系统 ——————————————} {——核心条件集成——} VALUATION := DYNPETTM<35 AND PB_RATE<4.5 AND PEG_VAL<1.2; TREND_SIG := TREND_ARR AND CLOSE > MA60*1.05; MOM_SIG := CROSS(DIF,DEA) AND MACD>REF(MACD,1) AND J>REF(J,1); PRICE_VOL := VOL_SIG AND (CLOSE-OPEN)/(HIGH-LOW+0.0001)>0.6; {——风险过滤系统——} BETA_COEF := SLOPE(CLOSE/INDEXC,60)*STD(CLOSE,60)/STD(INDEXC,60); RISK_FLT := BETA_COEF >= 0.8 AND BETA_COEF <= 1.2 AND FINANCE(42)/FINANCE(1)<1.2; {——周期协同系统——} CY_MON := STKINDI('','MA.MA2',0,6,1,1000,'6') > REF(STKINDI('','MA.MA2',0,6,1,1000,'6'),3); CY_WK := STKINDI('','MACD.DIF',0,4,1,1000,'12,26,9') > REF(STKINDI('','MACD.DIF',0,4,1,1000,'12,26,9'),1); CY_HR := CROSS(STKINDI('','RSI.RSI',0,0,1,1000,'14'),60); {—————————————— 信号合成系统 ——————————————} DAY_ALERT := TREND_SIG AND MOM_SIG AND PRICE_VOL AND RISK_FLT; SCAN_SIG := VALUATION AND CY_MON AND CY_WK AND COUNT(DAY_ALERT,5)>=2 AND FINANCE(56)/FINANCE(55)>1.1 AND WEEK_CHG > HHV(WEEK_CHG,20)*0.7; FINAL_SIGNAL:FILTER(DAY_ALERT OR SCAN_SIG,5), NODRAW; {—————————————— 风控系统 ——————————————} STOP_LOSS := MAX(MA10*0.93, LLV(LOW,10)*0.95); TAKE_PROFIT := IF(VOLATILITY<0.1, HHV(HIGH,20)*1.25, HHV(HIGH,13)*1.35); RISK_RATIO := IF(BETA_COEF>1, 1.25/BETA_COEF,1); STOP_PRICE := STOP_LOSS * RISK_RATIO; PROFIT_PRICE := TAKE_PROFIT * RISK_RATIO; DRAWICON(FINAL_SIGNAL, LOW*0.98, 1);```你的身份是高级编程技术专家,精通各类编程语言,能对编程过程中的各类问题进行析和解答。我的问题是【我正在编辑【通达信量化择时选股】代码,遇到了 【错误句 : {——周期协同系统——} CY_MON := STKINDI('','MA.MA2',0,6,1,1000,'6') > REF(STKINDI('','MA.MA2',0,6,1,1000,'6'),3) 详细信息 : 您在括号前写的不是函数、公式等, 且缺少必要的运算符! 错误起始位置 : 2315 ; 长度: 7】,请帮我检查并改正错误点补全正确代码,生成修正后完整代码。
03-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值