日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python习题week2

發布時間:2025/3/15 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python习题week2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

知識點總結:

1.去除數字前面的零

Num = int(input("請輸入正整數:"))

2. 矩陣方式輸入處理

# 輸入方法3 按矩陣形式輸入 list_juzhen = [] for i in range(3):input_str = input()input_list = input_str.split(" ")list_juzhen.append(input_list) # 輸入方法2 按空格鍵隔開 輸入9個數 # Str = input() # list_str = Str.split(" ") # list_str1 = np.array(list_str) # 輸入方法1 換行隔個輸入 # list_juzhen = [] # for i in range(n): # list_x = [] # for j in range(n): # m = int(input()) # list_x.append(m) # list_juzhen.append(list_x)

1. 題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13…求出這個數列的前20項之和。

fenZi = 1 fenMu = 2 num = int(input("請輸入系列個數:")) array_list = [] array_fenZi = [] array_fenMu = [] for i in range(num):array_fenMu.append(fenMu)array_fenZi.append(fenZi)array_list.append(fenZi/fenMu)old_fenMu = fenMufenMu = fenZi+old_fenMufenZi = old_fenMu for i in range(num):print(array_fenZi[i], end='')print("/", end='')print(array_fenMu[i], end='')if i != num-1:print(" + ", end='') print("之和為:", sum(array_list))

看題錯誤:修改:

""" File: 06分數之和.py Author: chde_wang Date: 2020-08-02 10:43:52 Description: """ fenMu = 1 fenZi = 2 num = int(input("請輸入系列個數:")) array_list = [] array_fenMu = [] array_fenZi = [] for i in range(num):array_fenZi.append(fenZi)array_fenMu.append(fenMu)array_list.append(fenZi/fenMu)old_fenMu = fenZifenZi = fenMu+old_fenMufenMu = old_fenMu for i in range(num):print(array_fenZi[i], end='')print("/", end='')print(array_fenMu[i], end='')if i != num-1:print(" + ", end='') print("之和為:", sum(array_list))

?

2. 題目:求1+2!+3!+…+20!的和。

""" File: 02階乘求和.py Author: chde_wang Date: 2020-07-23 23:15:26 Description: """def func_jiecheng(n):if n == 1 or n == 2:return nelse:return n * func_jiecheng(n-1)n = int(input("請輸入階乘個數:")) Sum = 0 for i in range(n):Sum += func_jiecheng(i+1) print("和為:", Sum)

3. 題目:給一個不多于5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。

""" File: 01求整數位數和逆序輸出.py Author: chde_wang Date: 2020-07-23 22:54:58 Description: """ Num = int(input("請輸入正整數:")) list_Num = list(str(Num)) Sum = 0 if len(list_Num) > 5:print("請輸入的數字超過5位數!") else:# 逆序輸出方法1for i in reversed(list_Num):print(i, end="")# 逆序輸出方法2# for i in range(len(list_Num)-1, -1, -1):# print(list_Num[i], end="")# 逆序方法輸出3 列表下標逆序遍歷# for i in list_Num[::-1]:# print(i, end="")

?沒有 做全:

try:Num = int(input("請輸入正整數:"))list_Num = list(str(Num))Sum = 0if len(list_Num) > 5:print("請輸入的數字超過5位數!")else:# 輸出位數print("您輸入整數的長度為:", len(list_Num))# 逆序輸出方法1print("整數逆序輸出結果為:", end="")for i in reversed(list_Num):print(i, end="")# 逆序輸出方法2# for i in range(len(list_Num)-1, -1, -1):# print(list_Num[i], end="")# 逆序方法輸出3 列表下標逆序遍歷# for i in list_Num[::-1]:# print(i, end="") except ValueError:print("您的輸入有誤!")

4. 題目:輸入位數為奇位數的數字(例如:12321),判斷它是不是回文數。即12321是回文數,個位與萬位相同,十位與千位相同

numString = input("請輸入數字:") Sum = 0 # if len(numString) % 2 == 0: # print("您的輸入不符合規則!") # else: for i in range(len(numString)//2):if numString[i] == numString[len(numString)-i-1]:Sum += 1 if len(numString) // 2 == Sum:print(numString, "是回文串!") else:print(numString, "不是回文串!")

?5.題目:輸入一個字符串,輸入指定的分割字符,輸出該字符串根據分割字符切分的列表。例如:輸入的字符為:‘123fhfa264631321’,輸入的分割字符為:‘2’,則輸出為:[‘1’,‘3fhfa’,‘646313’,‘1’]

注:自行實現該功能,不要使用字符串的內置函數split!

""" File: 03分割字符2.py Author: chde_wang Date: 2020-07-24 22:15:56 Description: """ # step1 輸入提示 str_input = input("請輸入需要分割的字符串:") split_character = input("請輸入分割字符:") list_num = [] list_str = [] # step2 尋找分割字符所在字符串下標 for i in range(len(str_input)):if str_input[i] == split_character:list_num.append(i) # step3 為下標字符串添加首尾下標 if 0 not in list_num:list_num.insert(0, 0) if len(list_num) not in list_num: # 123fg26461321 2342342 124442 ['1', '444', '']list_num.append(len(str_input)) print(list_num) # step4 利用下標分割字符串 # step4.1 對于沒有分割字符的字符串 if len(list_num) == 2:list_str.append(str_input[list_num[0]:list_num[-1]]) else:for i in range(len(list_num)):if i < len(list_num)-1:# step4.2 對于第二個字符為分割字符的字符串if list_num[i] == 0 and list_num[i+1] == 1:list_str.append(str_input[list_num[i]:list_num[i+1]])# step4.2 對于倒數第二個字符為分割字符的字符串elif list_num[i] == len(str_input)-1:pass# step4.3 其余情況else:m = list_num[i]+1n = list_num[i + 1]list_str.append(str_input[m:n]) print(list_str)

6.題目:求一個3*3矩陣主對角線元素之和。

""" File: 04求對角線矩陣之和.py Author: chde_wang Date: 2020-07-24 23:45:55 Description:求3*3 矩陣對角線之和 """ import numpy as np print("請輸入3*3矩陣:") n = 3# 輸入方法1 換行隔個輸入 # list_juzhen = [] # for i in range(n): # list_x = [] # for j in range(n): # m = int(input()) # list_x.append(m) # list_juzhen.append(list_x)# 輸入方法2 按空格鍵隔開 輸入9個數 # Str = input() # list_str = Str.split(" ") # list_str1 = np.array(list_str) # if len(list_str1) != 9: # print("您的輸入不是9個數字") # list_juzhen= list_str1.reshape(3, 3)# 輸入方法3 按矩陣形式輸入 list_juzhen = [] for i in range(3):input_str = input()input_list = input_str.split(" ")list_juzhen.append(input_list)Sum_zuo = 0 for i in range(n):for j in range(n):if i == j:Sum_zuo += int(list_juzhen[i][j]) Sum_you = 0 for i in range(n):for j in range(n):if i + j == n-1:Sum_you += int(list_juzhen[i][j]) print(Sum_you) print("和為:", Sum_zuo+Sum_you)

主對角線不包括右邊,右邊為副對角線。修改為

?

# 輸入方法3 按矩陣形式輸入 list_juzhen = [] try:for i in range(n):input_str = input()input_list = input_str.split(" ")list_juzhen.append(input_list)Sum_zuo = 0for i in range(n):# 限制為3*3矩陣的條件if len(list_juzhen) == 9 and len(list_juzhen[i]) == 3:for j in range(n):if i == j:Sum_zuo += int(list_juzhen[i][j])else:print("您的輸入不是3*3矩陣!")breakprint("和為:", Sum_zuo) except ValueError:print("您的輸入有誤!")

7.題目:題目:有一個已經排好序的數組?,F輸入一個數,要求按原來的規律將它插入數組中。

""" File: 05排序數組插數.py Author: chde_wang Date: 2020-07-26 19:04:21 Description:給已經拍好序的數組 插數 """ print("請輸入已經排好序的數組:", end="") # list_num = [] # for n in list(input().split(" ")): # list_num.append(int(n))list_num = [int(n) for n in list(input().split(" "))] insert_flag = True print(list_num) print("請輸入需要插入的數字:") num = int(input()) if list_num[0] > list_num[1]: # 從大到小 最小的存不進去for i in range(len(list_num)):if list_num[i] <= num:list_num.insert(i, num)insert_flag = Falsebreakif insert_flag:list_num.insert(len(list_num), num) else:for i in range(len(list_num)): # 從小到大 最大的存不進去if list_num[i] >= num:list_num.insert(i, num)insert_flag = Falsebreakif insert_flag:list_num.insert(len(list_num), num) print(list_num)

?

總結

以上是生活随笔為你收集整理的Python习题week2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。