<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 編程題一 在編寫抽獎程序時,為了保證一個人只有一次中獎機會,要檢查新抽出來的數字是不是已經被抽中過了。 一種辦法是將已經中過獎的人員編號存放在test_list里面,然后每抽出一個新的人員編號,判斷它是否在中獎人員列表中。 如果沒有在中獎人員列表中,說明中獎號碼有效,并將它保存進中獎人員列表;如果已經在里面了,就再生成一個新的人員編號。 請你補全下面的代碼,實現判斷一個數字是否在列表中的功能。 #子問題算法(子問題規模為1) def is_in_list(init_list,num): ? ?if init_list[0] == num: ? ? ? ?return True ? ?else: ? ? ? ?return False #分治法 def find_out(init_list,num): ? ?n = len(init_list) ? ?if ____①______ ? ? ? ? ?#如果問題的規模等于1,直接解決 ? ? ? ?return is_in_list(init_list,num) ? ?#分解(子問題規模為n/2) ? ?left_list,right_list = _________②____________ ? ?#遞歸,分治,合并 ? ?res=find_out(left_list,num) __③__ find_out(right_list,num) ? ?return res if __name__ == "__main__": ? ?#測試數據 ? ?test_list = [18,43,21,3,28,2,46,25,32,40,14,36] ? ?#查找 ? ?print(_____④_____)? 程序運行結果: \>>>True **試題編號:20210120-cqf-01** **試題類型:編程題** **標準答案:** **參考答案:** (1)?n==1:???或其他正確答案; (2分) (2)?init_list[:n//2],init_list[n//2:]????或其他正確答案;?(2分) (3)?or? ? 或其他正確答案;?(2分) (4)?find_out(test_list,25)? ??或其他正確答案。?(2分) **試題難度:較難** **試題解析:** **參考程序:** #子問題算法(子問題規模為1) def is_in_list(init_list,num): ? ?if init_list[0] == num: ? ? ? ?return True ? ?else: ? ? ? ?return False #分治法 def find_out(init_list,num): ? ?n = len(init_list) ? ?if n == 1: ? ? ? ? ?#如果問題的規模等于1,直接解決 ? ? ? ?return is_in_list(init_list,num) ? ?#分解(子問題規模為n/2) ? ?left_list,right_list = init_list[:n//2],init_list[n//2:] ? ?#遞歸(樹),分治,合并 ? ?res=find_out(left_list,num) or find_out(right_list,num) ? ?return res if __name__ == "__main__": ? ?#測試數據 ? ?test_list = [18,43,21,3,28,2,46,25,32,40,14,36] ? ?#查找 ? ?print(find_out(test_list,25)) #True ***** # 編程題二 乘法運算等于多個加法運算的和。比如,3×2可以理解為3+3,也可以理解為2+2+2 。 下面的程序使用遞歸算法演示了計算兩個自然數的乘積的過程。請你補全代碼。 輸入:分兩次輸入自然數num1,num2 輸出:num1?×?num2 =?乘積 def cheng_fa(num1,num2,value): ? ? if?? ? ? ? ?①? ? ? ? ? ? ? ? ? ? ? value += 0 ? ? else: ? ? ? ? value += num1 ? ? ? ? ?? ? ? ? ②? ? ? ? ? ? ? ? ? value = cheng_fa(num1,num2,value) ? ? return?? ? ?③? ? ? ?? num1=int(input('輸入第1個數:')) num2=int(input('輸入第2個數:')) value=0 value = cheng_fa(num1,num2,value) print('{} X {} = {}'.format(num1,num2,value)) 程序運行結果: 輸入第1個數:3 輸入第2個數:7 3 X 7 = 21 **試題編號:20210123-cqf-14** **試題類型:編程題** **標準答案:** **參考答案:** (1)num1==0 or num2==0:? 或其他等效答案 ;(3分) (2)num2 -= 1 或 num2=num2 - 1?或其他等效答案; (4分) (3)value 。(3分) **試題難度:一般** **試題解析:** **參考答案:** (1)num1==0 or num2==0:? 或其他等效答案 (3分) (2)num2 -= 1 或 num2=num2 - 1?或其他等效答案 (4分) (3)value?(3分) **參考程序:** def cheng_fa(num1,num2,value): ? ? if num1==0 or num2==0: ? ? ? ? value += 0 ? ? else: ? ? ? ? value += num1 ? ? ? ? num2 -= 1 ? ? ? ? value = cheng_fa(num1,num2,value) ? ? return value num1=int(input('輸入第1個數:')) num2=int(input('輸入第2個數:')) value=0 value = cheng_fa(num1,num2,value) print('{} X {} = {}'.format(num1,num2,value)) 程序運行結果: 輸入第1個數:3 輸入第2個數:7 3 X 7 = 21 ***** # 編程題三 外賣送餐服務越來越受到人們的喜愛,外賣小哥們也成了路上的一道風景。 當顧客使用外賣軟件點餐時,會出現一個預計送達時間,包括了餐廳制作食物的時間,路上的騎行時間等等。 一種常用的計算路上騎行時間的方法是用曼哈頓距離(manhatton distance)除以平均騎行速度。平面上點A(x1,y1)與點B(x2,y2)的曼哈頓距離為:|x1-x2|+|y1-y2|。 假設一名外賣小哥的平均騎行速度為30km/h。下面的程序模擬計算外賣小哥的路上騎行時間,請你補充完整。 輸入:分兩次輸入A點和B點的坐標值 輸出:A、B兩點間的曼哈頓距離和路上騎行時間。 #求絕對值 def my_abs(n): ? if? ?????①? ? ??? ? ? ? return n ? else: ? ? ? return??? ? ②? ? ? #主程序 v=30 #平均騎行速度 x1=float(input('輸入A點的x坐標(米):')) y1=float(input('輸入A點的y坐標(米):')) x2=float(input('輸入B點的x坐標(米):')) y2=float(input('輸入B點的y坐標(米):')) #計算曼哈頓距離mht mht =?? ? ? ? ? ?③? ? ? ? ? ? ? ? ? ? #計算路上騎行時間 time_on_the_road? ? =?? ? ? ? ? ?④? ? ? ? ? ? ? ? ? ? print('A、B兩點的曼哈頓距離為{}米'.format(mht)) print('預計路上騎行時間需要{}分鐘'.format(time_on_the_road)) 程序運行結果: 輸入A點的坐標(米),以逗號分隔:-1000,1000 輸入B點的坐標(米),以逗號分隔:1000,-1000 A、B兩點的曼哈頓距離為4000米 預計路上騎行時間需要8.0分鐘 **試題編號:20210123-cqf-15** **試題類型:編程題** **標準答案:** **參考答案:** (1)?n>0: 或?n>=0:?? (2分) (2)?-n??(2分) (3)my_abs(x1-x2)+my_abs(y1-y2) 或?sum([my_abs(x1-x2),my_abs(y1-y2)])?或 sum((my_abs(x1-x2),my_abs(y1-y2))) 或其他等效答案;??(4分) (4)mht/1000/v*60 或?mht/(1000*v)*60 或?mht*60/1000/v 或 (mht*60)/(1000*v)或其他等效答案? 。(4分) **試題難度:一般** **試題解析:** **參考程序:** #求絕對值 def?my_abs(n): ? if n>0: ? ? ? return n ? else: ? ? ? return -n #主程序 v=30 ? ?#平均騎行速度 x1,y1=eval(input('輸入A點的坐標(米),以逗號分隔:')) x2,y2=eval(input('輸入B點的坐標(米),以逗號分隔:')) #計算曼哈頓距離mht mht =?my_abs(x1-x2)+my_abs(y1-y2) ? ? ? ? ? ? ? #方法1 mht?=?my_abs(y1-y2)+my_abs(x1-x2) ? ? ? ? ? ? ? #方法2 mht?=?sum([my_abs(x1-x2),my_abs(y1-y2)]) ? ? ? ?#方法3 mht?=?sum((my_abs(x1-x2),my_abs(y1-y2))) ? ? ? ?#方法4 #計算路上騎行時間 time_on_the_road = mht/1000/v*60 ? ? ? ?#方法1 time_on_the_road = mht/(1000*v)*60 ? ? ?#方法2 time_on_the_road = mht*60/1000/v ? ? ? ?#方法3 time_on_the_road = (mht*60)/(1000*v) ? ?#方法4 print('A、B兩點的曼哈頓距離為{}米'.format(mht)) print('預計路上騎行時間需要{}分鐘'.format(time_on_the_road))
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看