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

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

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

      python基礎操作練習題

      使用版本:python 3.6.8

      IDE:pycharm

      前言

      這些練習題是在神經網絡與深度學習課程上老師提供的,原因是有些同學沒學過python,作為簡單的練手習題。

      題目都很簡單,加上python本身也比較簡單,有些題目的作答可以一行代碼實現(雖然可讀性就下降了)。

      練習題

      2.1 數位之和

      編寫程序,輸入一個正整數,然后輸出各位數字之和。
      例如,輸入字符串1234,輸出10。

      from functools import reduce
      from operator import add
      
      print(reduce(add, map(int, list(input()))))
      

      2.2 字符串翻轉

      編寫程序,輸入一個字符串,輸出翻轉(首尾交換)后的字符串,要求使用內置函數實現。
      例如,輸入字符串12345,輸出54321。

      print(''.join(reversed(input())))
      

      2.3 最大值

      編寫程序,輸入一個包含若干整數的列表,輸出列表中的最大值。
      例如,輸入[1, 2, 3, 4, 5, 888],輸出888。

      print(max(eval(input())))
      

      2.4 類型轉換——整數轉字符串

      編寫程序,輸入一個包含若干整數的列表,把列表中所有整數轉換為字符串,然后輸出包含這些字符串的列表。
      例如,輸入[1, 2, 3, 4, 5, 888],輸出['1', '2', '3', '4', '5', '888']

      print(list(map(str, eval(input()))))
      

      2.5 filter

      編寫程序,輸入一個包含若干任意數據的列表,輸出該列表中等價于True的元素組成的列表。
      例如,輸入[1, 2, 0, None, False, 'a'],輸出[1, 2, 'a']。

      print(list(filter(None, eval(input()))))
      

      2.6 指定key排序

      編寫程序,輸入一個包含若干整數的列表,輸出一個新列表,新列表中奇數在前偶數在后,并且奇數之間的相對順序不變,偶數之間的相對順序也不變。

      nums = eval(input())
      print(sorted(nums, key=(lambda x: x%2), reverse=True))
      

      3.1 列表推導式與列表求和

      阿凡提與國王比賽下棋,國王說要是自己輸了的話阿凡提想要什么他都可以拿得出來。阿凡提說那就要點米吧,棋盤一共64個小格子,在第一個格子里放1粒米,第二個格子里放2粒米,第三個格子里放4粒米,第四個格子里放8粒米,以此類推,后面每個格子里的米都是前一個格子里的2倍,一直把64個格子都放滿。編寫程序,生成一個列表,其中元素為每個棋盤格子里米的粒數,并輸出這些數字的和,也就是一共需要多少粒米。
      要求使用列表推導式。

      from functools import reduce
      from operator import add
      print(reduce(add, [2**x for x in range(64)]))
      

      3.2 列表推導式if篩選

      編寫程序,輸入一個包含若干整數的列表,輸出由其中的奇數組成的新列表。
      例如,輸入[1,2,3,4,5,6,7,8],輸出[1, 3, 5, 7]。
      要求使用列表推導式。

      data = eval(input())
      print([x for x in data if x%2==1])
      

      3.3 向量內積

      編寫程序,輸入兩個包含若干整數的等長列表表示兩個向量,輸出這兩個向量的內積。
      例如,輸入[1,2,3]和[4,5,6],內積計算方法為1*4 + 2*5 + 3*6 = 32,輸出32。
      要求使用列表推導式。

      from functools import reduce
      from operator import add
      
      x1 = eval(input())
      x2 = eval(input())
      
      print(reduce(add, [a*b for (a, b) in zip(x1, x2)]))
      

      3.4 找最大值與其下標

      編寫程序,輸入一個包含若干整數的列表,輸出其中的最大值,以及所有最大值的下標組成的列表。
      例如,輸入[1,2,3,1,2,3,3],輸出3和[2, 5, 6]。
      要求使用列表推導式。

      data = eval(input())
      max_num = max(data)
      print(max_num, [idx for idx in range(len(data)) if data[idx]==max_num])
      

      3.5 生成隨機序列與計數

      編寫程序,首先生成包含1000個隨機數字字符的字符串,然后統計每個數字的出現次數。

      from random import choices
      import string
      s = ''.join(choices(string.digits, k=1000))
      print(s)
      cnt = {}
      for x in s:
          cnt[x] = cnt.get(x, 0) + 1
      
      print(cnt)
      

      3.6 字符串去重(保持順序)

      編寫程序,輸入一個字符串,輸出其中唯一字符組成的新字符串,要求新字符串中的
      字符順序與其在原字符串中的相對順序一樣。
      例如,輸入'1122a3344',輸出'12a34'。

      s = input()
      ss = list(set(s))
      ss.sort(key=s.index)
      print(''.join(ss))
      

      3.7 集合運算

      編寫程序,輸入兩個集合A和B,輸出它們的并集、交集、對稱差集以及差集A-B和B-A。
      要求使用集合運算符。

      A = set(eval(input()))
      B = set(eval(input()))
      
      print(A | B)
      print(A & B)
      print(A ^ B)
      print(A - B)
      print(B - A)
      

      3.8 空格去重

      編寫程序,輸入一個字符串,刪除其中的重復空格,也就是如果有連續的多個空格的話就只保留一個,然后輸出處理后的字符串。

      s = input()
      print(''.join([s[idx] for idx in range(len(s)) if idx==0 or s[idx]!=' ' or s[idx-1]!=' ']))
      

      3.9 元音字母大寫

      編寫程序,輸入一個字符串,把其中的元音字母i、o、a、e和u替換成對應的大寫字母,然后輸出新字符串。

      vowel = ('a', 'e', 'i', 'o', 'u')
      
      s = input()
      print(''.join(list(map(
          (lambda x: x.upper() if x in vowel else x),
          s
      ))))
      

      3.10 檢查列表是否存在相同整數

      編寫程序,測試列表中的若干整數之間是否有重復。

      data = eval(input())
      print("沒有重復") if len(data) == len(list(set(data))) else print("存在重復")
      

      4.7 遞歸實現數位求和

      使用遞歸法計算自然數各位數字之和。

      def sum_by_digit(num):
          return num%10 + sum_by_digit(num//10) if num > 10 else num
      
      test_data = (1234, 6789, 6379)
      
      for test in test_data:
          print(f"{test} --> {sum_by_digit(test)}")
      

      4.8 猜數游戲

      通過參數可以指定一個整數范圍和猜測的最大次數,系統在指定范圍內隨機產生一個整數,然后讓用戶猜測該數的值,系統根據玩家的猜測進行提示(例如,猜大了,猜小了,猜對了),玩家則可以根據系統的提示對下一次的猜測進行適當調整,直到猜對或次數用完。

      from random import choice
      
      config = {
          'max_num': 1000,
          'min_num': 0,
          'max_guess_times': 20
      }
      
      answer = choice(range(config['min_num'], config['max_num']+1))
      
      guess_times = 0
      while guess_times < config['max_guess_times']:
      
          print(f"猜數游戲,請輸入一個數字,\n范圍是[{config['min_num']}, {config['max_num']}]: ") \
              if guess_times == 0 else print("再猜一次: ")
          guess = int(input())
          guess_times += 1
          if guess == answer:
              print("猜對了!")
              break
          elif guess > answer:
              print("猜大了")
          else:
              print("猜小了")
      
      if guess_times >= config['max_guess_times']:
          print("--- 機會用完了 ---")
      
      posted @ 2023-10-04 12:58  feixianxing  閱讀(692)  評論(1)    收藏  舉報
      主站蜘蛛池模板: japanese边做边乳喷| 欧美性猛交xxxx乱大交极品| 国产91色综合久久免费| 性色欲情网站iwww九文堂| 视频一区视频二区视频三| 国产成AV人片久青草影院| 东京热大乱系列无码| 亚洲精品成人7777在线观看 | 亚洲AV无码一二区三区在线播放| 麻豆精产国品一二三区区| V一区无码内射国产| 国产女同一区二区在线| 亚洲第一区二区三区av| 亚洲性av网站| 久久精品国产99亚洲精品| 一区二区三区四区在线不卡高清| 国产无遮挡猛进猛出免费软件| 真人作爱免费视频| 国产av精品一区二区三区| 久久精品不卡一区二区| 国产对白熟女受不了了| 国产成年女人特黄特色大片免费 | 亚洲偷自拍国综合| 日韩av无码一区二区三区| 亚洲尤码不卡av麻豆| 午夜福利伦伦电影理论片在线观看| 永久免费无码av在线网站| 午夜福利日本一区二区无码| 色道久久综合亚洲精品蜜桃| 深夜福利啪啪片| 天天澡天天揉揉av无码| 国产稚嫩高中生呻吟激情在线视频| 国产永久免费高清在线观看| 色九月亚洲综合网| 自拍偷在线精品自拍偷免费| 国产免费久久精品44| 久久亚洲女同第一区综合| 当雄县| 亚洲高清 一区二区三区| 白嫩少妇激情无码| 国产精品成人中文字幕|