<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [CS61A-Fall-2020]學習記錄一 Homework1 題解思路分享

      前言

      觀前提示,筆者寫的代碼答案放在github倉庫中,此處僅記錄過程與心得

      正文

      首先來看下hw的第一道題

      Q2: A Plus Abs B

      Fill in the blanks in the following function for adding a to the absolute value of b, without calling abs. You may not modify any of the provided code other than the two blanks.

      from operator import add, sub
      
      def a_plus_abs_b(a, b):
          """Return a+abs(b), but without calling abs.
      
          >>> a_plus_abs_b(2, 3)
          5
          >>> a_plus_abs_b(2, -3)
          5
          >>> # a check that you didn't change the return statement!
          >>> import inspect, re
          >>> re.findall(r'^\s*(return .*)', inspect.getsource(a_plus_abs_b), re.M)
          ['return f(a, b)']
          """
          if b < 0:
              f = _____
          else:
              f = _____
          return f(a, b)
      

      題目大意,賦予f一個函數滿足在不使用abs函數的情況下,實現a+abs(b)的效果

      解題過程,剛開始沒注意到是賦予函數,于是分別填了a - b和a + b的錯誤答案,看了報錯類型才反應過來,然后想起python可以函數賦予,于是將sub和add分別賦予f即可

      Q3: Two of Three

      Write a function that takes three positive numbers as arguments and returns the sum of the squares of the two smallest numbers. Use only a single line for the body of the function.

      def two_of_three(x, y, z):
          """Return a*a + b*b, where a and b are the two smallest members of the
          positive numbers x, y, and z.
      
          >>> two_of_three(1, 2, 3)
          5
          >>> two_of_three(5, 3, 1)
          10
          >>> two_of_three(10, 2, 8)
          68
          >>> two_of_three(5, 5, 5)
          50
          >>> # check that your code consists of nothing but an expression (this docstring)
          >>> # a return statement
          >>> import inspect, ast
          >>> [type(x).__name__ for x in ast.parse(inspect.getsource(two_of_three)).body[0].body]
          ['Expr', 'Return']
          """
          return _____
      

      題目大意,返回三個參數中最小兩個的平方和

      解題過程,剛開始想了會如何在一行里選出三個參數中最小兩個,然后馬上想到全部一起平方加起來再減去最大的平方不就行了嗎

      Q4: Largest Factor

      Write a function that takes an integer n that is greater than 1 and returns the largest integer that is smaller than n and evenly divides n.

      def largest_factor(n):
          """Return the largest factor of n that is smaller than n.
      
          >>> largest_factor(15) # factors are 1, 3, 5
          5
          >>> largest_factor(80) # factors are 1, 2, 4, 5, 8, 10, 16, 20, 40
          40
          >>> largest_factor(13) # factor is 1 since 13 is prime
          1
          """
          "*** YOUR CODE HERE ***"
      

      題目大意,找到比整數n小的最大的能整除n的數字

      解題過程,直接循環,從1開始窮舉,可以對循環條件除2或取根號2來減少循環次數

      Q5: If Function vs Statement

      Let's try to write a function that does the same thing as an if statement.

      def if_function(condition, true_result, false_result):
          """Return true_result if condition is a true value, and
          false_result otherwise.
      
          >>> if_function(True, 2, 3)
          2
          >>> if_function(False, 2, 3)
          3
          >>> if_function(3==2, 3+2, 3-2)
          1
          >>> if_function(3>2, 3+2, 3-2)
          5
          """
          if condition:
              return true_result
          else:
              return false_result
      

      Despite the doctests above, this function actually does not do the same thing as an if statement in all cases. To prove this fact, write functions cond, true_func, and false_func such that with_if_statement prints the number 47, but with_if_function prints both 42 and 47.

      def with_if_statement():
          """
          >>> result = with_if_statement()
          47
          >>> print(result)
          None
          """
          if cond():
              return true_func()
          else:
              return false_func()
      
      def with_if_function():
          """
          >>> result = with_if_function()
          42
          47
          >>> print(result)
          None
          """
          return if_function(cond(), true_func(), false_func())
      
      def cond():
          "*** YOUR CODE HERE ***"
      
      def true_func():
          "*** YOUR CODE HERE ***"
      
      def false_func():
          "*** YOUR CODE HERE ***"
      

      題目大意,通過編輯三個函數cond(),true_func(),false_func(),使得with_if_statement和with_if_fuction()產生預想的結果

      解題過程,關鍵之關鍵在于了解到python中,將函數作為參數時,會先將函數運行,再將其結果作為參數返回,因此填上對應的數字,并調好條件cond就能成功解題

      Q6: Hailstone

      Douglas Hofstadter's Pulitzer-prize-winning book, G?del, Escher, Bach, poses the following mathematical puzzle.

      Pick a positive integer n as the start.
      If n is even, divide it by 2.
      If n is odd, multiply it by 3 and add 1.
      Continue this process until n is 1.
      The number n will travel up and down but eventually end at 1 (at least for all numbers that have ever been tried -- nobody has ever proved that the sequence will terminate). Analogously, a hailstone travels up and down in the atmosphere before eventually landing on earth.

      Breaking News (or at least the closest thing to that in math). There was a recent development in the hailstone conjecture last year that shows that almost all numbers will eventually get to 1 if you repeat this process. This isn't a complete proof but a major breakthrough.

      This sequence of values of n is often called a Hailstone sequence. Write a function that takes a single argument with formal parameter name n, prints out the hailstone sequence starting at n, and returns the number of steps in the sequence:

      def hailstone(n):
          """Print the hailstone sequence starting at n and return its
          length.
      
          >>> a = hailstone(10)
          10
          5
          16
          8
          4
          2
          1
          >>> a
          7
          """
          "*** YOUR CODE HERE ***"
      

      題目大意,有一種數學規律(尚未完全證明),對一個正整數,若其為偶數,則除2,若其為奇數,則乘3并加1,重復上述步驟,此數定終為1。現有n,輸出n經上述規律到1的過程,并返回計算次數

      解題過程,寫循環,循環條件是數為1,每次循環輸出該數,再設一個變量每次循環++即可

      小結

      雖然題目不難,但仍發現了自己一些問題,比如審題不清,有一定的原因是題目是英語而非中文,不過都要適應嘛

      posted @ 2024-02-29 19:26  陸爻齊  閱讀(180)  評論(0)    收藏  舉報
      主站蜘蛛池模板: www亚洲精品| 日本不卡三区| 翘臀少妇被扒开屁股日出水爆乳| 日韩乱码卡一卡2卡三卡四| 九九热在线视频观看最新| 无码电影在线观看一区二区三区| 视频| 亚洲精品乱码久久久久久蜜桃图片| 国色天香成人一区二区| 九九热精彩视频在线免费| 中文字幕亚洲制服在线看| 日韩av一区二区三区不卡| 成人免费视频在线观看播放| 少妇大叫太大太爽受不了| 伊人春色激情综合激情网| 国产成人精品亚洲午夜麻豆| 亚洲AV成人无码久久精品四虎| 国产成人亚洲综合图区| 欧美成人无码a区视频在线观看| 国产伦精品一区二区三区妓女| 平顺县| 中文字幕日韩精品亚洲一区| 国精品午夜福利视频不卡| 无码囯产精品一区二区免费| 亚洲精品岛国片在线观看| 亚洲精品天天影视综合网| 亚洲精品综合网二三区| 久热这里只有精品视频六| 免费福利视频一区二区三区高清| 亚洲av影院一区二区三区| 亚洲女人天堂成人av在线| 亚洲三级香港三级久久| 国产va免费精品观看| 亚洲国产精品成人av网| 国产乱子伦精品免费无码专区| 区一区二区三区中文字幕| 亚洲色最新高清AV网站| 久久av无码精品人妻出轨| 激情综合色区网激情五月| 日韩中文字幕国产精品| 达孜县|