国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

獲取頭歌實(shí)訓(xùn)參考答案(EduCoder)

這篇具有很好參考價(jià)值的文章主要介紹了獲取頭歌實(shí)訓(xùn)參考答案(EduCoder)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

實(shí)訓(xùn)答案查詢?nèi)肟?/h3>

頭歌EduCoder平臺(tái)實(shí)訓(xùn)答案在此,里面搜集了一些答案,可以查查有沒有想看的。

https://edaser.github.io/

一定不要直接復(fù)制答案,建議還是自己做,實(shí)在不會(huì)做的,參考看完后要獨(dú)立完成。

在這里可以查詢一些實(shí)訓(xùn)的答案,后臺(tái)的數(shù)據(jù)庫記錄了幾百個(gè)實(shí)訓(xùn)關(guān)卡的答案,實(shí)現(xiàn)的方法見下文。

實(shí)現(xiàn)方法

EduCoder平臺(tái)需要花費(fèi)金幣來解鎖答案,平均每個(gè)關(guān)卡需要150金幣。首先每天進(jìn)行自動(dòng)簽到領(lǐng)取金幣,通過這些金幣,就可以解鎖大部分實(shí)訓(xùn)的答案了,然后通過接口獲取到答案,保存為數(shù)據(jù)庫就行了。

以下代碼為nodejs環(huán)境文章來源地址http://www.zghlxwxcb.cn/news/detail-506821.html

EduCoder接口封裝代碼

const rp = require("request-promise");

class Session{
  /**
  簡單的一個(gè)Session會(huì)話類,用于記錄cookies
  */ 
  constructor(cookies){
    this.cookies = cookies||""; //記錄cookies
  }
  async request({url, method="GET",header, data, success, fail, complete}){
    var options = {
      method,
      json:true,
      uri: url,
      headers:{
        Cookie: this.cookies, ...header //每次請求帶上cookies
      },
      resolveWithFullResponse:true  // 加上這個(gè)可以獲取到請求頭,從而得到新cookies,否則只返回請求得到的數(shù)據(jù)
    }
    if(method=="GET"){
      options.qs = data //如果是GET,把data傳入querystring
    }else if(method=="POST"){
      options.body = data //如果是POST,把data傳入body
    }
    try{
      console.debug("request options", options);
      let {headers, body} = await rp(options); //用request-promise發(fā)起網(wǎng)絡(luò)請求
      console.debug("request_success", headers, body);
      if(headers["set-cookie"]){ //如果有新cookies,則獲取
        this.cookies = headers["set-cookie"].map(i=>i.split(/;/g)[0]).join(";") // 簡單的記錄cookies
      }else if(headers["Set-Cookie"]){
        this.cookies = headers["set-cookie"].map(i=>i.split(/;/g)[0]).join(";")
      }
      success&&success(body); //成功,回調(diào)success函數(shù)
      complete&&complete(body);
      return body;  // 返回?cái)?shù)據(jù)
    }catch(e){
      fail&&fail(e);
      complete&&complete(e);
      throw e;
    }
  }
}

const apiUrl = "https://www.educoder.net/api/"; //接口地址

async function eduHTTPApi({session,url,method,data}){
  // 訪問EduCoder的api接口,并處理返回的數(shù)據(jù)
  url = apiUrl + url;
  let res = await session.request({
    url,
    method,
    data
  });
  // 拋出調(diào)用EduCoder接口時(shí)的錯(cuò)誤,status<0或status>100時(shí)錯(cuò)誤
  if(res.status && res.status > 100 || res.status<0){
    let e =  new Error(res.message);
    e.code = res.status;
    throw e;
  }else
    return res;
}

// 所有已經(jīng)封裝的EduCoder的接口函數(shù)合集
const eduApi = {
  //登錄
  async ["accounts.login"]({session, data}){
    return eduHTTPApi({
      session,
      method:"POST",
      url:"accounts/login.json",
      data
    });
  },
  // 獲取自己的所有實(shí)訓(xùn)
  async ["users.shixuns"]({session, data}){
    let url = `users/${data.login}/shixuns.json`;
    delete data.login;
    return eduHTTPApi({
      session,
      url,
      data
    })
  },
  // 獲取實(shí)訓(xùn)的詳情
  async ["shixuns"]({session, data}){
    let url = `shixuns/${data.identifier}`;
    delete data.identifier;
    return eduHTTPApi({
      session,
      url,
      data
    })
  },
  // 獲取實(shí)訓(xùn)的關(guān)卡
  async ["shixuns.challenges"]({session, data}){
    let url =`shixuns/${data.identifier}/challenges.json`;
    delete url.identifier;
    return eduHTTPApi({
      session, 
      url,
      data
    })
  },
  // 獲取已解鎖的答案
  async ["tasks.get_answer_info"]({session, data}){
    let url =  `tasks/${data.identifier}/get_answer_info.json`;
    delete data.identifier;
    return eduHTTPApi({
      session,
      url,
      data
    })
  },
  // 解鎖答案
  async ["tasks.unlock_answer"]({session, data}){
  	let url = `tasks/${data.identifier}/unlock_answer.json`;
  	delete data.identifier;
  	return eduHTTPApi({
      session,
      url,
      data
    })
  }
}

調(diào)用封裝的函數(shù)獲取答案

async function main(){
  let session = new Session() //創(chuàng)建會(huì)話對象
  let login = "用戶名";
  let password = "對應(yīng)的密碼";
  // 調(diào)用登錄接口
  let {login} = await eduApi["accounts.login"]({session, data:{login, password}}); // 獲取用戶的login
  // 獲取自己的實(shí)訓(xùn)列表
  let {shixuns} = await eduApi["users.shixuns"]({session, data:{login, page:1, per_page:10}});
  // 以獲取第一個(gè)實(shí)訓(xùn)的第一個(gè)關(guān)卡的答案為例
  let {identifier} = shixuns[0]; //第一個(gè)實(shí)訓(xùn)
  // 獲取實(shí)訓(xùn)的所有關(guān)卡
  let {challenge_list} = await eduApi["shixuns.challenges"]({session, data:{identifier}});
  let challenge = challenge_list[0]; // 第一個(gè)關(guān)卡
  var task_identifier = challenge.open_game.match( /\/tasks\/(.*)/)[1];
  try{
    var {message} =  await eduApi["tasks.get_answer_info"]({session, data:{identifier: task_identifier}});
    // 如果答案已經(jīng)解鎖了,則成功獲取答案
    console.info(message);
    // ...其他函數(shù)邏輯
  }catch(e){ // 答案沒有解鎖的情況
    // 解鎖答案 
    var {contents} = await eduApi["tasks.unlock_answer"]({session, data:{identifier: task_identifier}});
    console.info(contents);
    // ...其他函數(shù)邏輯
  }
}

到了這里,關(guān)于獲取頭歌實(shí)訓(xùn)參考答案(EduCoder)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • JavaScript下部分--頭歌(educoder)實(shí)訓(xùn)作業(yè)題目及答案

    目錄 ?JSON 第1關(guān): JSON對象 第2關(guān): JSON數(shù)組 第3關(guān): JSON字符串 Math、日期和異常處理 第1關(guān): Math類 第2關(guān): Date類 第3關(guān): JavaScript錯(cuò)誤 HTML DOM——文檔元素的操作(一) 第1關(guān): 通過id獲取文檔元素 第2關(guān): 通過類名獲取文檔元素 第3關(guān): 通過標(biāo)簽名獲取文檔元素 第4關(guān): html5中獲取元素的

    2023年04月26日
    瀏覽(69)
  • JavaScript上部分--頭歌(educoder)實(shí)訓(xùn)作業(yè)題目及答案

    ? 目錄 JS簡介 第1關(guān): JavaScript基礎(chǔ)入門 第2關(guān): JavaScript 與 HTML 第3關(guān): JavaScript 變量 JS 數(shù)據(jù)類型 第1關(guān): JavaScript 數(shù)據(jù)類型介紹 第2關(guān): JavaScript 數(shù)據(jù)類型轉(zhuǎn)換 JS運(yùn)算符 第1關(guān): 算術(shù)運(yùn)算符 第2關(guān): 比較和邏輯運(yùn)算符 第3關(guān): 條件和賦值運(yùn)算符 第4關(guān): 運(yùn)算符的優(yōu)先級(jí)和結(jié)合性 JS對象 第

    2024年02月08日
    瀏覽(71)
  • JavaScript上部分--頭歌(educoder)實(shí)訓(xùn)作業(yè)題目及答案 JS簡介

    ? 目錄 JS簡介 第1關(guān): JavaScript基礎(chǔ)入門 第2關(guān): JavaScript 與 HTML 第3關(guān): JavaScript 變量 JS 數(shù)據(jù)類型 第1關(guān): JavaScript 數(shù)據(jù)類型介紹 第2關(guān): JavaScript 數(shù)據(jù)類型轉(zhuǎn)換 JS運(yùn)算符 第1關(guān): 算術(shù)運(yùn)算符 第2關(guān): 比較和邏輯運(yùn)算符 第3關(guān): 條件和賦值運(yùn)算符 第4關(guān): 運(yùn)算符的優(yōu)先級(jí)和結(jié)合性 JS對象 第

    2023年04月22日
    瀏覽(212)
  • 頭歌(educoder)實(shí)訓(xùn)作業(yè)題目及答案分享 ——1-4 Java入門 - 分支結(jié)構(gòu)

    頭歌(educoder)實(shí)訓(xùn)作業(yè)題目及答案分享 ——1-4 Java入門 - 分支結(jié)構(gòu)

    ??個(gè)人簡介 : ?作者簡介:大家好,我是Passenger.n?? ?支持一下:點(diǎn)贊??+收藏??+留言?? ?? 系列專欄:java基礎(chǔ)?? ??格言:花有重開日,人無再少年!?? 萬事開頭難,既然邁開了這一步,那就堅(jiān)持走下去! 這是我的第一篇博客,希望萌新看了有收獲,大佬看了給指

    2024年02月06日
    瀏覽(115)
  • 計(jì)算機(jī)圖形學(xué)頭歌實(shí)訓(xùn)平臺(tái)答案——CG1-v2.0-直線繪制

    計(jì)算機(jī)圖形學(xué)頭歌實(shí)訓(xùn)平臺(tái)答案——CG1-v2.0-直線繪制

    1.本關(guān)任務(wù) (1)根據(jù)直線DDA算法補(bǔ)全line函數(shù),其中直線斜率0k1; (2)當(dāng)直線方程恰好經(jīng)過P(x,y)和T(x,y+1)的中點(diǎn)M時(shí),統(tǒng)一選取直線上方的T點(diǎn)為顯示的像素點(diǎn)。 2.輸入 (1)直線兩端點(diǎn)坐標(biāo):(13, 20)和(180,140); (2)直線顏色為白色。 3.輸出 程序運(yùn)行結(jié)果為一條直線,具體結(jié)果如下圖所示:

    2024年02月06日
    瀏覽(92)
  • 【頭歌educoder】離散數(shù)學(xué)實(shí)訓(xùn)參考-第二章-關(guān)系-part1-關(guān)系基礎(chǔ)

    目錄 ?第一關(guān):求給定集合的對角線關(guān)系(Diagonal Relation) ?第二關(guān):關(guān)系的合成 ?第三關(guān):關(guān)系的冪運(yùn)算 ?第四關(guān):關(guān)系的并運(yùn)算 ?第五關(guān):轉(zhuǎn)換成關(guān)系矩陣 ?第六關(guān):自反關(guān)系的判斷 ?第七關(guān):反自反關(guān)系的判斷 ?第八關(guān):對稱關(guān)系的判斷 ?第九關(guān):非對稱關(guān)系的判斷 ?第十

    2024年02月07日
    瀏覽(128)
  • 頭歌(educoder)實(shí)訓(xùn)作業(yè)題目及答案分享 ——1-7 Java入門-分支與循環(huán)練習(xí)

    頭歌(educoder)實(shí)訓(xùn)作業(yè)題目及答案分享 ——1-7 Java入門-分支與循環(huán)練習(xí)

    ??個(gè)人簡介 : ?作者簡介:大家好,我是Passenger.n?? ?支持一下:點(diǎn)贊??+收藏??+留言?? ?? 系列專欄:java基礎(chǔ)?? ??格言:花有重開日,人無再少年!?? 萬事開頭難,既然邁開了這一步,那就堅(jiān)持走下去! 這是我的第一篇博客,希望萌新看了有收獲,大佬看了給指

    2024年02月04日
    瀏覽(101)
  • 頭歌(educoder)實(shí)訓(xùn)作業(yè)題目及答案分享 ——1-3 Java入門 - 運(yùn)算符和表達(dá)式

    頭歌(educoder)實(shí)訓(xùn)作業(yè)題目及答案分享 ——1-3 Java入門 - 運(yùn)算符和表達(dá)式

    ??個(gè)人簡介 : ?作者簡介:大家好,我是Passenger.n ?支持一下:點(diǎn)贊??+收藏??+留言?? ?? 系列專欄:java基礎(chǔ)?? ??格言:花有重開日,人無再少年!?? 萬事開頭難,既然邁開了這一步,那就堅(jiān)持走下去! 這是我新的一篇博客,希望萌新看了有收獲,大佬看了給指路??

    2024年02月07日
    瀏覽(295)
  • 頭歌實(shí)訓(xùn)Junit實(shí)訓(xùn)進(jìn)階篇

    學(xué)員寫一個(gè)Junit異常測試,用來判斷實(shí)例化的對象數(shù)據(jù)是否合法。

    2024年02月16日
    瀏覽(151)
  • 頭歌實(shí)訓(xùn)-離散數(shù)學(xué)-圖論!

    頭歌實(shí)訓(xùn)-離散數(shù)學(xué)-圖論!

    5階無向完全圖的邊數(shù)為:10 設(shè)圖 G 有 n 個(gè)結(jié)點(diǎn), m 條邊,且 G 中每個(gè)結(jié)點(diǎn)的度數(shù)不是 k ,就是 k+1 ,則 G 中度數(shù)為 k 的節(jié)點(diǎn)數(shù)是: n(k+1)-2m 若一個(gè)圖有5個(gè)頂點(diǎn),8條邊,則該圖所有頂點(diǎn)的度數(shù)和為多少?16 他讓輸出關(guān)聯(lián)矩陣和鄰接矩陣這不簡單么? 我是直接擺爛了 輸出個(gè)球呀

    2024年02月04日
    瀏覽(54)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包