乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Python語言程序設(shè)計(jì)基礎(chǔ)(第二版)嵩天等課后習(xí)題答案

       gexian 2019-03-22

      第一次博文 Time:2018年04月28日 星期六 11:37
      二次補(bǔ)充 2018年05月02日
      第一章 程序設(shè)計(jì)基本方法 P29

      # 1.1字符串的拼接
      str1 = input("請(qǐng)輸入一個(gè)人的名字:")
      str2 = input("請(qǐng)輸入一個(gè)地點(diǎn):")
      print("世界這么大,{}想去{}看看。".format(str1,str2))1234

      # 1.2整數(shù)序列求和
      n = input("請(qǐng)輸入一個(gè)整數(shù)N:")
      sum = 0
      for i in range(int(n)):#或者調(diào)和函數(shù)eval(n)
         print(i,end = ' ')
         sum = sum + i+1
      print("1到N求和結(jié)果為:",sum)1234567

      # 1.3 9*9乘法表
      # 版本一
      for i in range(1,10):
         for m in range(1,i+1):
             sum = i*m
             if m < i:
                 if sum < 10:
                     print(m,'*',i,"= {}".format(sum),end = '  ')
                 else:
                     print(m,'*',i,'=',sum,end = ' ')
             else:
                 print(m,'*',i,'=',sum)
      # 版本二
      for i in range(1,10):
         for j in range(1,i+1):
             print("{} * {} = {:2}".format(j,i,i*j),end = ' ')
         print('')1234567891011121314151617

      # ---------1.4 計(jì)算1+2!+3!+4!+...+10!------------#
      sum,tmp = 0,1
      for i in range(1,11):
         tmp *= i
         sum += tmp
      print("1+2!+3!+4!+...+10!=",sum)123456

      # ---------1.5 猴子吃桃問題 ----------------------#
      # list(range(5,0,-1)) -----  [5, 4, 3, 2, 1]
      n = 1
      for i in range(5,0,-1):
         n = (n+1)*2  #n = (n+1)<<1 左移一位乘以2
      print(n)123456

      # --------1.6 健康食譜輸出 ------------------------#
      diet = ['西紅柿','土豆','雞蛋','黃瓜','青菜']
      for i in range(5):
         for j in range(5):
             if (i != j):
                 print(diet[i],diet[j],sep = '炒')123456

      # --------1.7 繪制五角星 --------------------------#
      from turtle import *
      ##fillcolor("red")
      color('red','yellow') #color('線條顏色','填充顏色')
      begin_fill()
      while True:
         forward(200)
         right(144)
         if abs(pos()) < 1:
             break
      end_fill()1234567891011

      # ------1.8 太陽花的繪制 --------------------------#
      from turtle import *
      color('red','yellow')
      begin_fill()
      while True:
         forward(200)
         left(170)
         if abs(pos()) <1:
             break
      end_fill()
      done()1234567891011

      第二章 Python程序?qū)嵗馕?/p>

      # ---------------溫度轉(zhuǎn)換程序1.1 P35-------------------------#
      TempStr = input("請(qǐng)輸入帶有符號(hào)的溫度值:")
      if TempStr[-1] in ['F','f']:
         C = (eval(TempStr[0:-1]) - 32) / 1.8
         print("華氏溫度{}轉(zhuǎn)換為攝氏度溫度是:{:.2f}C".format(TempStr,C))
      elif TempStr[-1] in ['C','c']:
         F = eval(TempStr[0:-1])*1.8 + 32
         print("攝氏溫度{}轉(zhuǎn)換為華氏溫度是:{:.2f}F".format(TempStr,F))
      else:
         print("輸入格式錯(cuò)誤")12345678910

      # -----------------循環(huán)輸入----------------------------------#
      TempStr = input("請(qǐng)輸入帶有符號(hào)的溫度值:")
      while TempStr[-1] not in ['N','n']:
         if TempStr[-1] in ['F','f']:
             C = (eval(TempStr[0:-1]) - 32) / 1.8
             print("華氏溫度{}轉(zhuǎn)換為攝氏度溫度是:{:.2f}C".format(TempStr,C))
         elif TempStr[-1] in ['C','c']:
             F = eval(TempStr[0:-1])*1.8 + 32
             print("攝氏溫度{}轉(zhuǎn)換為華氏溫度是:{:.2f}F".format(TempStr,F))
         else:
             print("輸入格式錯(cuò)誤")
         TempStr = input("請(qǐng)輸入帶有符號(hào)的溫度值:")123456789101112

      # --------------------------正方形的繪制---------------------------------#im
      import turtle as t
      t.pensize(3)
      for i in range(1,5):
         t.fd(100)
         t.setheading(90*i)
      t.done()1234567

      # --------------------------六邊形的繪制---------------------------------#im
      import turtle as  t
      t.pensize(3)
      for i  in range(6):
         t.fd(100)
         t.seth(60+60*i)
      t.done()1234567

      # --------------------------疊邊形的繪制---------------------------------#im
      import turtle as  t
      t.pensize(3)
      for i  in range(9):
         t.fd(150)
         t.seth(80+80*i)
      t.done()1234567

      # --------------------------同切圓的繪制---------------------------------#im
      import turtle as  t
      t.pensize(3)
      for i in range(4):
         t.circle(50+i*10)
      t.done()123456

      # ----------------------------長度轉(zhuǎn)換------------------#
      # 1米 = 39.37英寸
      le = input()
      if le[-1] in ['M','m']:
         temp = eval(le[0:-1]) * 39.37
         print("{:.3f}in".format(temp))
      elif le[-2:] in ['in','IN']:
         temp = eval(le[0:-2]) / 39.37
         print("{:.3f}m".format(temp))
      else:
         print("輸入格式錯(cuò)誤")1234567891011

      # ------------------------多彩蟒蛇的繪制---------------------------------#
      import turtle as t
      week = ['black','grey','darkgreen','gold','violet','purple','green','red']
      def drawSnake(r,angle,length):
         t.seth(-40)
         for i in range(length):
             t.pencolor(week[i%8])
             t.circle(r,angle)
             t.pencolor(week[(i+1)%8])
             t.circle(-r,angle)
         t.circle(r,angle/2)
         t.fd(40)
         t.circle(16,180)
         t.fd(40*2/3)
      t.setup(650,350)
      t.penup()
      t.fd(-250)
      t.pendown()
      t.pensize(25)
      drawSnake(40,80,9)
      t.done()123456789101112131415161718192021

      第三章 基本數(shù)據(jù)類型
      天天向上的力量
      在一年中,如果每天進(jìn)步》》,那么一年下來會(huì)進(jìn)步到多少呢?
      在一年中,如果每天退步》》,那么一年下來會(huì)倒退到多少呢?

      一年中每天提升0.001:1.44,一年中每天能力下降0.001:0.69
      一年中每天提升0.005:6.17,一年中每天能力下降0.005:0.16
      一年中每天提升0.01:37.78,一年中每天能力下降0.01:0.03
      向上5天向下2天的力量:4.63。
      工作日多努力每天的努力應(yīng)達(dá)到:0.019

      # 1.1 每天的改變?cè)谇Х种?P74
      import math
      dayup = math.pow((1+0.001),365)
      daydown = math.pow((1-0.001),365)
      print("一年中每天提升0.001:{:.2f},一年中每天能力下降0.001:{:.2f}".format(dayup,daydown))
      123456

      import math
      dayup = math.pow((1+0.005),365)
      daydown = math.pow((1-0.005),365)
      print("一年中每天提升0.005:{:.2f},一年中每天能力下降0.005:{:.2f}".format(dayup,daydown))1234

      #1.3 每天的改變?cè)诎俜种?br/>import math
      dayfactor = 0.01
      dayup = math.pow((1+dayfactor),365)
      daydown = math.pow((1-dayfactor),365)
      print("一年中每天提升0.01:{:.2f},一年中每天能力下降0.01:{:.2f}".format(dayup,daydown))123456

      #1.4 在每年的365天中,每周工作5個(gè)工作日,工作日每天提升0.01,
      #休息兩天,休息時(shí)每天下降0.01
      dayup,dayfactor = 1.0,0.01
      for i in range(365):
         if i%7 in [6,0]:
             dayup *= (1 - dayfactor)
         else:
             dayup *= (1 + dayfactor)
      print("向上5天向下2天的力量:{:.2f}。".format(dayup))123456789

      #1.5 問工作日多努力才能達(dá)到365天每天都工作的成績
      def daydayUp(df):
         dayup = 1.0
         for i in range(365):
             if i%7 in [6,0]:
                 dayup *= (1 - 0.01)
             else:
                 dayup *= (1 + df)
         return dayup
      dayfactor = 0.01
      while(daydayUp(dayfactor) < 37.78):
         dayfactor += 0.001
      print("每天的努力應(yīng)達(dá)到:{:.3f}".format(dayfactor))12345678910111213

      第四章 程序的控制結(jié)構(gòu) P121

      # 4.1 猜數(shù)字游戲
      k = 5
      x = eval(input("請(qǐng)輸入0~9之間的整數(shù)"))
      tem = 0
      while x != k:
          tem += 1
          if(x > k):
              print("遺憾,太大了")
          else:
              print("遺憾,太小了")
          x = eval(input("請(qǐng)輸入0~9之間的整數(shù)"))
      print("預(yù)測(cè){}次,你猜中了".format(tem))123456789101112

      # 4.2 統(tǒng)計(jì)不同字符個(gè)數(shù)
      c,n,b,o = 0,0,0,0 # c代表字符個(gè)數(shù) n代表數(shù)字個(gè)數(shù) b代表空格個(gè)數(shù) o代表其他字符個(gè)數(shù)
      strs = input("請(qǐng)隨意輸入一行字符,包含字母,數(shù)字,空格或其他字符:")
      for s in strs:
          if ord('a') <= ord(s) <= ord('z') or ord('A') <= ord(s) <= ord('Z'):
              c += 1
          elif ord('0') <= ord(s) <= ord('9'):
              n += 1
          elif ord(' ') == ord(s):
              b += 1
          else:
              o += 1
      print("包含字母{0}個(gè),數(shù)字{1}個(gè),空格{2}個(gè),其他字符{3}個(gè)".format(c,n,b,o))12345678910111213

      # 4.3 最大公約數(shù)的計(jì)算
      m,n = eval(input("請(qǐng)輸入連個(gè)整數(shù),中間以逗號(hào)隔開"))
      x,y = m,n
      r = m % n
      while r != 0:
          m,n = n,r
          r = m % n

      print("{}和{}的最大公約數(shù):{};最小公倍數(shù):{:.0f}".format(x,y,n,x*y/n))123456789

      # 4.4 猜數(shù)游戲續(xù)
      import random
      k = random.randint(0,100)
      x = eval(input("請(qǐng)輸入0~100之間的整數(shù)"))
      tem = 0
      while x != k:
          tem += 1
          if(x > k):
              print("遺憾,太大了")
          else:
              print("遺憾,太小了")
          x = eval(input("請(qǐng)輸入0~100之間的整數(shù)"))
      print("預(yù)測(cè){}次,你猜中了".format(tem))12345678910111213

      # 4.5 猜數(shù)字續(xù)
      import random
      while True:
          try:
              k = random.randint(0, 100)
              x = int(input("請(qǐng)輸入0~100之間的整數(shù)"))
              tem = 0
              while x != k:
                  tem += 1
                  if (x > k):
                      print("遺憾,太大了")
                  else:
                      print("遺憾,太小了")
                  x = eval(input("請(qǐng)輸入0~100之間的整數(shù)"))

          except:
              print("輸入內(nèi)容必須為整數(shù)!")
          else:
              print("預(yù)測(cè){}次,你猜中了".format(tem))
              break1234567891011121314151617181920

      # 4.5 羊車門問題 思想:大量樣本以頻率代替概率
      import random
      a = ['羊1', '羊2', '汽車']
      times = 1000*1000  # 嘗試次數(shù)
      first, change = 0, 0
      for i in range(times):
          x = random.choice(a)  # 正確答案
          y = random.choice(a)  # 參賽者選擇答案
          if x == y:   # 堅(jiān)持最初的選擇
              first += 1
          else:         # 改變選擇
              change += 1
      print("堅(jiān)持初心獲得勝利的概率:{:.2f}%".format(first/times*100))
      print("改變初心獲得勝利的概率:{:.2f}%".format(change/times*100))1234567891011121314

      第六章 組合數(shù)據(jù)類型 P180
      6.1要求
          編寫程序,在16個(gè)字符大小寫和9個(gè)數(shù)字組成的列表中隨機(jī)生成10個(gè)8為密碼。

      #first 1 隨機(jī)密碼生成

      # 導(dǎo)入random庫,后續(xù)生成0~61之間的隨機(jī)整數(shù)
      import random
      # 新建列表類型存儲(chǔ)字符串和數(shù)字
      strs = []
      # 添加字符
      for i in (65,97):
          for j in range(26):
              strs += chr(i+j)
      # 添加數(shù)字
      for i in range(10):
          strs += str(i)
      # 輸出10個(gè)8位的密碼
      for i in range(10):
          print("密碼", i+1, ":",end= '')
          for j in range(8):
              print(strs[random.randint(0,61)], end= '')
          print()12345678910111213141516171819

      6.2重復(fù)元素判定
      編寫一個(gè)函數(shù),接受列表作為參數(shù),如果一個(gè)元素在列表中出現(xiàn)了不知一次,則返回True,但不要改變?cè)瓉砹斜淼闹?。同時(shí)編寫調(diào)用這個(gè)函數(shù)和測(cè)試結(jié)果的程序。

      思路:利用集合的無重復(fù)性實(shí)現(xiàn)

      #second 2 重復(fù)元素判定
      def testReEle(lis):
          tem = set(lis)
          if len(tem) == len(lis):
              print('True')
          else:
              print('False')
      def getList():
          lis = []
          ch = input("請(qǐng)輸入判定元素,回車表示結(jié)束:")
          while ch != '':
              lis.append(ch)
              ch = input("請(qǐng)輸入判定元素,回車表示結(jié)束:")
          testReEle(lis)
      getList()123456789101112131415

      6.3文本字符分析
      編寫程序接收字符串,按照字符出現(xiàn)頻率的降序打印字母。

      # 文本字符分析
      str = input("請(qǐng)輸入要分析的字符串,回車表示結(jié)束:")
      while str != '':
          # 創(chuàng)建字典類型保存結(jié)果
          counts = {}
          # 掃描字符串,統(tǒng)計(jì)出現(xiàn)頻率
          for ch in str:
              counts[ch] = counts.get(ch,0) + 1
          # 改變類型為列表類型,按照出現(xiàn)頻率降序排列
          items = list(counts.items())
          # 利用sort函數(shù)排序
          items.sort(key= lambda x : x[1],reverse= True)
          # 打印輸出
          for i in range(len(items)):
              word, count = items[i]
              print("{0:<10}{1:>5}".format(word, count))
          str = input("請(qǐng)輸入要分析的字符串,回車表示結(jié)束:")1234567891011121314151617

      6.5 生日悖論分析

      # 生日駁論分析 樣本太大時(shí),運(yùn)行時(shí)間會(huì)相應(yīng)延長
      # 思路:利用隨機(jī)函數(shù)隨機(jī)生成1~365中隨機(jī)數(shù)字,以列表存儲(chǔ)生成的23個(gè)數(shù)字,利用集合判斷是否重復(fù)
      #       大樣本分析中,出現(xiàn)重復(fù)count+1,最后統(tǒng)計(jì)出現(xiàn)重復(fù)的數(shù)據(jù)所占的比例
      import random
      # 大樣本次數(shù)
      times = 1000*1000
      # 統(tǒng)計(jì)生日相同的次數(shù)
      count = 0
      for i in range(times):
          # 創(chuàng)建列表類型,存儲(chǔ)23個(gè)人的生日在當(dāng)年的某一天
          lis = []
          for j in range(23):
              lis.append(random.randint(1,365))
          # 利用集合的無重復(fù)性,轉(zhuǎn)換為集合類型存儲(chǔ)
          items = set(lis)
          if len(items) != len(lis):
              count += 1
      print("至少兩人生日相同的概率:{:.2f}%".format(count/times*100))
      ---------------------
      作者:GTFQAQ
      來源:CSDN
      原文:https://blog.csdn.net/gtf215998315/article/details/80118380 

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多