Python題集:2019春Python程序設計選修課習題筆記


一、判斷題:

  1-1、在Python 3.x中可以使用中文作為變量名。

  答案:√

  1-2、Python變量使用前必須先聲明,並且一旦聲明就不能再當前作用域內改變其類型。

  答案:×

  1-3、Python運算符%不僅可以用來求余數,還可以用來格式化字符串。

  答案:√

  1-4、在Python 3.x中,使用內置函數input()接收用戶輸入時,不論用戶輸入的什么格式,一律按字符串進行返回。

  答案:√

  1-5、在Python中,變量不直接存儲值,而是存儲值的引用,也就是值在內存中的地址。

  答案:√

  2-1、已知st="Hello World!",使用print(st[0:-1])語句可以輸出字符串變量st中的所有內容。

  答案:×

  2-2、Python程序設計中的整數類型沒有取值范圍限制,但受限於當前計算機的內存大小。

  答案:√

  2-3、已知: x=1,y=2,z=[2,3,4],則語句 x not in z 計算結果是True。

  答案:√

  2-4、已知 x = 3,那么執行語句 x+=6 之后,x的內存地址不變。

  答案:×

  3-1、如a是一個列表,且a[:]與a[::-1]相等,則a中元素按順序排列構成一個回文。

  答案:√

  3-2、表達式 {1, 3, 2} > {1, 2, 3} 的值為True。

  答案:×

  3-3、已知x為非空列表,那么執行語句x[0] = 3之后,列表對象x的內存地址不變。

  答案:√

  3-4、Python內置的集合set中元素順序是按元素的哈希值進行存儲的,並不是按先后順序。

  答案:√

  3-5、已知x是一個列表,那么x = x[3:] + x[:3]可以實現把列表x中的所有元素循環左移3位。

  答案:√

  4-1、如下代碼可以實現當輸入6的時候輸出x>5,輸入4的時候輸出 3<x<=5,輸入1的時候輸出x<=3

x = int(input())
if x>5:
  print("x>5")
elif x>3:
  print("3<x<=5")
else:
  print("x<=3")

  答案:×

  4-2、當作為條件表達式時,空值、空字符串、空列表、空元組、空字典、空集合、空迭代對象以及任意形式的數字0都等價於False。

  答案:√

  5-1、定義Python函數時,如果函數中沒有return語句,則默認返回空值None。

  答案:√

  5-2、在函數內部沒有任何聲明的情況下直接為某個變量賦值,這個變量一定是函數內部的局部變量。

  答案:√

  5-3、在調用函數時,必須牢記函數形參順序才能正確傳值。

  答案:×

  5-4、調用函數時傳遞的實參個數必須與函數形參個數相等才行。

  答案:×

  5-5、g = lambda x: 3不是一個合法的賦值表達式。

  答案:×

  6-1、對文件進行讀寫操作之后必須顯式關閉文件以確保所有內容都得到保存。

  答案:√

  6-2、以追加模式打開文件時,文件指針指向文件尾。

  答案:√

  6-3、使用Python內置的open函數打開某個文件的時候,如果該文件不存在,則可能產生異常,所以一定要使用try except對其進行處理。

  答案:×

  6-4、二進制文件也可以使用記事本或其他文本編輯器打開,但是一般來說無法正常查看其中的內容。

  答案:√

  6-5、以讀模式打開文件時,文件指針指向文件開始處。

  答案:√

  6-6、文本文件是可以迭代的,可以使用for line in fp類似的語句遍歷文件對象fp中的每一行。

  答案:√

  6-7、二進制文件不能使用記事本程序打開。

  答案:×

  6-8、文件對象是可以迭代的。

  答案:√

  6-9、以寫模式打開的文件無法進讀操作。

  答案:√

  6-10、fi=fopen("t.txt","r+") 執行后只能對"t.txt"文件進行讀操作。

  答案:×

  7-1、Python使用縮進來體現代碼之間的邏輯關系。

  答案:√

  7-2、語句pass僅起到占位符的作用,並不會做任何操作。

  答案:√

  8-1、Python使用縮進來體現代碼之間的邏輯關系。

  答案:√

  8-2、為了輸出",可以使用如下語句print(""")。

  答案:×

  8-3、使用x=set()和x={} 都可以創建一個空集合。

  答案:×

  8-4、Python支持使用字典的“鍵”作為下標來訪問字典中的值。

  答案:√

  8-5、創建只包含一個元素的元組時,必須在元素后面加一個逗號,例如(3,)。

  答案:√

  8-6、continue用來跳出最內層for或while循環,退出該循環后程序從循環代碼后繼續執行; break用來結束當前當次循環。

  答案:×

  8-7、如果僅僅是用於控制循環次數,那么使用for i in range(20)和for i in range(20, 40)的作用是等價的。

  答案:√

  8-8、定義函數時,即使該函數不需要接收任何參數,也必須保留一對空的圓括號來表示這是一個函數。

  答案:√

  8-9、定義Python函數時,如果函數中沒有return語句,則默認返回空值None。

  答案:√

  8-10、調用函數時傳遞的實參個數必須與函數形參個數相等才行。

  答案:×

 


二、選擇題:

  1-1、表達式1+2*3.14>0的結果類型是(D)

  A、int       B、long      C、float      D、bool

  1-2、八進制35的十進制值是(D)

  A、30       B、25         C、19        D、29

  1-3、Python語言正確的標識符是(C)

  A、2you           B、my-name         C、_item        D、abc*234

  1-4、 (D)號表示同一行的后面部分是Python程序的注釋。

  A、*        B、%       C、/        D、#

  1-5、Python 語句 print(0xA + 0xB)的輸出結果是(D)

  A、0xA + 0xB    B、A + B       C、0xA0xB    D、21

  1-6、Python 語句x=’car’; y = 2; print (x+y)的輸出結果是(A)

  A、語法錯      B、2         C、'car2’     'carcar’

   2-1、計算機存儲器的單位是字節(B,Byte),1B等於(C)

  A、一位二進制   B、四位二進制     八位二進制    十六位二進制

  2-2、Python程序在Windows上的擴展名是(A)

  A、py         B、exe          C、docx      D、jpg

  2-3、Python的輸出函數是(B)

  A、input()        B、print()        C、math()      D、turtle()

  2-4、(D)號表示同一行的后面部分是Python程序的注釋。

  A、*          B、%        C、/       D、#

  3-1、 以下選項不是函數作用的是:(A)

  A、提高代碼執行速度B、復用代碼     C、增強代碼可讀性 D、降低編程復雜度

  3-2、Python的輸出函數是(B)。

  A、input()        B、print()      C、math()      D、turtle()

  3-3、Python語言正確的標識符是(C)。

  A、2you      B、my-name    C、_item       D、abc*234

  3-4、字符串是一個字符序列,例如,字符串s,從右側向左第二個字符用什么索引?(C)

  A、s[0:-2]       B、s[2]        C、s[-2]      D、s[:-2]

  3-5、哪個選項能夠向列表ls中增加五個元素?(C)

  A、ls.append([1,2,3,4,5])B、ls.append(1,2,3,4,5)C、ls += 1,2,3,4,5D、ls.insert(1,2,3,4,5)

  3-6、哪個選項不能生成一個空字典?(D)

  A、{}         B、dict()       C、dict([])    D、{[]}

  3-7、下列關於形參和實參的說法正確的是?(D)

  A、函數定義中參數列表里面的參數是實際參數,簡稱實參

  B、參數列表中給出要傳入函數內部的參數,這類參數稱為形式參數,簡稱形參

  C、程序在調用時,將形參復制給函數的實參

  D、程序在調用時,將實參復制給函數的形參

  3-8、遞歸函數有什么特點?(B)

  A、函數名稱作為返回值

  B、函數內部包含對本函數的再次調用

  C、包含一個循環結構

  D、函數比較復雜

  3-9、關於try-except,哪個選項的描述是錯誤的?(C)

  A、表達了一種分支結構的特點

  B、用於對程序的異常進行捕捉和處理

  C、使用了異常處理,程序將不會再出錯

  D、NameError是一種異常類型

  3-10、下面關於time庫引用不正確的是?(B)

  A、from time import strftime

  B、from * import time

  C、from time import *

  D、import time

 


三、編程題:

   1-1、jmu-python-輸入輸出-計算字符串中的數:

  將字符串中的每個數都抽取出來,然后統計所有數的個數並求和。

  輸入格式:一行字符串,字符串中的數之間用1個空格或者多個空格分隔。

  輸出格式:

  第1行:輸出數的個數。

  第2行:求和的結果,保留3位小數。

  輸入樣例:

2.1234    2.1     3    4 5 6

  輸出樣例:

6
22.223

  代碼:

s = input()
a = s.split()
num = len(a)
sum = 0
for i in range(num):
  sum = sum + float(a[i])
print(num)
print("{:.3f}".format(sum))

  1-2、輸入列表,求列表元素和(eval輸入應用):

  在一行中輸入列表,輸出列表元素的和。

  輸入格式:

  一行中輸入列表。

  輸出格式:

  在一行中輸出列表元素的和。

  輸入樣例:

[3,8,-5]

  輸出樣例:

6

  代碼:

q = eval(input())
print(sum(q))

  1-3、你好:

  你的程序會讀入一個名字,比如John,然后輸出“Hello John”。

  輸入格式:

  一行文字。

  輸出格式:

  一行文字。

  輸入樣例:

Mary Johnson

  輸出樣例:

Hello Mary Johnson

  代碼:

a=input()
print("Hello "+a)

  1-4、Py的A+B:

  程序會讀入兩行,每行都是一個數字,輸出這兩個數字的和。

  輸入格式:

  兩行文字,每行都是一個數字

  輸出格式:

  一行數字

  輸入樣例:

18
21

  輸出樣例:

39

  代碼:

num1 = input()
if num1.strip() == "":
    print("輸入有誤")
    exit()
elif num1[0] != '.':
    for i in num1:
        if not('0' <= i <= '9' or i == '.'):
            print("輸入有誤")
            exit()
    num1 = float(num1)
else:
    print("輸入有誤")
    exit()
num2 = input()
if num2.strip() == "":
    print("輸入有誤")
    exit()
elif num2[0] != '.':
    for i in num2:
        if not('0' <= i <= '9' or i == '.'):
            print("輸入有誤")
            exit()
    num2 = float(num2)
else:
    print("輸入有誤")
    exit()
su = num1 + num2
su = [str(su), int(su)][int(su) == su]
num1 = [str(num1), int(num1)][int(num1) == num1]
num2 = [str(num2), int(num2)][int(num2) == num2]
print("{}".format(su))

  2-1、產生每位數字相同的n位數:

  讀入2個正整數A和B,1<=A<=9, 1<=B<=10,產生數字AA...A,一共B個A

  輸入格式:

  在一行中輸入A和B。

  輸出格式:

  在一行中輸出整數AA...A,一共B個A

  輸入樣例1:

  在這里給出一組輸入,例如:

1,5

  輸出樣例1:

  在這里給出相應的輸出,例如:

11111

  輸入樣例2:

  在這里給出一組輸入,例如:

3,4

  輸出樣例2:

  在這里給出相應的輸出,例如:

3333

  代碼:

a,b=eval(input())
print(("%d"%a)*b)

  2-2、轉換函數使用:

  輸入一個整數和進制,轉換成十進制輸出

  輸入格式:

  在一行輸入整數和進制

  輸出格式:

  在一行十進制輸出結果

  輸入樣例:

  在這里給出一組輸入,例如:

45,8

  輸出樣例:

  在這里給出相應的輸出,例如:

37

  代碼:

a,b=eval(input())
c=str(a)
print(int(c,b))

  2-3、jmu-python-統計字符個數:

  輸入一個字符串,統計其中數字字符及小寫字符的個數

  輸入格式:

  輸入一行字符串

  輸出格式:

  共有?個數字,?個小寫字符?填入對應數量

  輸入樣例:

helo134ss12

  輸出樣例:

共有5個數字,6個小寫字符

  代碼:

a=input()
b,c=0,0
for e in a:
  if e.isdigit():
    b+=1
  elif e.isalpha():
    c+=1
print("共有%d個數字,%d個小寫字符"%(b,c))

  3-1、圖的字典表示:

  

  圖的字典表示。輸入多行字符串,每行表示一個頂點和該頂點相連的邊及長度,輸出頂點數,邊數,邊的總長度。

  比如上圖0點表示:

  {'O':{'A':2,'B':5,'C':4}}

  輸入格式:

  第一行表示輸入的行數 下面每行輸入表示一個頂點和該頂點相連的邊及長度的字符串

  輸出格式:

  在一行中輸出頂點數,邊數,邊的總長度

  輸入樣例:

  在這里給出一組輸入,例如:

4
{'a':{'b':10,'c':6}}
{'b':{'c':2,'d':7}}
{'c':{'d':10}}
{'d':{}} 

  輸出樣例:

  在這里給出相應的輸出,例如: 

4 5 35

  代碼:

s=int(input())
a=0
b=0
dict={}
for i in range(0,s):
    t=input()
    t=eval(t)
    dict.update(t)
for key in dict.keys():
    c=len(dict[key])
    a=a+c
    for key2 in dict[key].keys():
        d=dict[key][key2]
        b=b+d
print(str(s)+" "+str(a)+" "+str(b))

  3-2、jmu-python-逆序輸出:

  輸入一行字符串,然后對其進行如下處理。

  輸入格式:

  字符串中的元素以空格或者多個空格分隔。

  輸出格式:

  ①逆序輸出字符串中的所有元素。
  ②然后輸出原列表。
  ③然后逆序輸出原列表每個元素,中間以1個空格分隔。注意:最后一個元素后面不能有空格。

  輸入樣例:

a b  c e   f  gh

  輸出樣例:

ghfecba
['a', 'b', 'c', 'e', 'f', 'gh']
gh f e c b a

  代碼:

s= str(input())
m=s.split()
o=""
for i in range(len(m)-1,-1,-1):
  o=o+m[i]
print(o)
print(m[:])
d=str(m[-1])
for i in range(len(m)-1):
  d=d+" "+m[-i-2]
print(d)

  3-3、jmu-python-班級人員信息統計:

  輸入a,b班的名單,並進行如下統計。

  輸入格式:

  第1行::a班名單,一串字符串,每個字符代表一個學生,無空格,可能有重復字符。
  第2行::b班名單,一串字符串,每個學生名稱以1個或多個空格分隔,可能有重復學生。
  第3行::參加acm競賽的學生,一串字符串,每個學生名稱以1個或多個空格分隔。
  第4行:參加英語競賽的學生,一串字符串,每個學生名稱以1個或多個空格分隔。
  第5行:轉學的人(只有1個人)。

  輸出格式:

  特別注意:輸出人員名單的時候需調用sorted函數,如集合為x,則print(sorted(x))
  輸出兩個班級的所有人員數量
  輸出兩個班級中既沒有參加ACM,也沒有參加English的名單和數量
  輸出所有參加競賽的人員的名單和數量
  輸出既參加了ACM,又參加了英語競賽的所有人員及數量
  輸出參加了ACM,未參加英語競賽的所有人員名單
  輸出參加英語競賽,未參加ACM的所有人員名單
  輸出參加只參加ACM或只參加英語競賽的人員名單
  最后一行:一個同學要轉學,首先需要判斷該學生在哪個班級,然后更新該班級名單,並輸出。如果沒有在任何一班級,什么也不做。

  輸入樣例:

abcdefghijab
1   2 3 4 5 6 7 8 9  10
1 2 3 a b c
1 5 10 a d e f
a

  輸出樣例:

Total: 20
Not in race: ['4', '6', '7', '8', '9', 'g', 'h', 'i', 'j'], num: 9
All racers: ['1', '10', '2', '3', '5', 'a', 'b', 'c', 'd', 'e', 'f'], num: 11
ACM + English: ['1', 'a'], num: 2
Only ACM: ['2', '3', 'b', 'c']
Only English: ['10', '5', 'd', 'e', 'f']
ACM Or English: ['10', '2', '3', '5', 'b', 'c', 'd', 'e', 'f']
['b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

  代碼:

from collections import OrderedDict
a= input()
b=input().split(" ")
c=input().split(" ")
d=input().split(" ")
e=input()
list_1="".join(OrderedDict.fromkeys(a))
st_split = list(b)
while "" in st_split:
    st_split.remove("")
list_2 = list(set(st_split))
list_2.sort(key=st_split.index)
re=len(list_1)+len(list_2)
print("Total: "+str(re))
while "" in c:
    c.remove("")
result3=list(c)+d
st_split2 = list(d)
list2=list(set(list_2+list(list_1)).difference(set(result3)))
l2 = list(set(result3))
l2.sort(key=result3.index)
list4=[]
list4=list(set(l2) & set(c))
list41=list(set(list4) & set(d))
list5=list(set(l2).difference(set(c)))
list6=list(set(l2).difference(set(d)))
list7=list(set(list5).union(set(list6)))
print('Not in race: {0}, num: {1}'.format(sorted(list2),str(len(list2))))
print('All racers: {0}, num: {1}'.format(sorted(l2),str(len(l2))))
print('ACM + English: {0}, num: {1}'.format(sorted(list41),str(len(list41))))
print('Only ACM: {0}'.format(sorted(list6)))
print('Only English: {0}'.format(sorted(list5)))
print('ACM Or English: {0}'.format(sorted(list7)))
list_4=list(list_1)
if e in list_4:
    list_4.remove(e)
    print (sorted(list_4))
if e in list_2:
    list_2.remove(e)
    print (sorted(list_2))

  4-1、jmu-python-匯率兌換:

  按照1美元=6人民幣的匯率編寫一個美元和人民幣的雙向兌換程序

  輸入格式:

  輸入人民幣或美元的金額,人民幣格式如:R100,美元格式如:$100

  輸出格式:

  輸出經過匯率計算的美元或人民幣的金額,格式與輸入一樣,幣種在前,金額在后,結果保留兩位小數

  輸入樣例: 

R60

  輸出樣例1:

$10.00

  輸入樣例2:

$5

  輸出樣例2:

R30.00

  代碼:

mydata = input()
if mydata[0] == '$':
    n = eval(mydata[1:])
    print("R{:.2f}".format(n*6))
elif mydata[0] == 'R':
    m = eval(mydata[1:])
    print("${:.2f}".format(m/6))
else:
    print("輸入有誤")

  4-2、jmu-python-成績轉換:

  本題要求編寫程序將一個百分制成績轉換為五分制成績。

  轉換規則:

  大於等於90分為A; 小於90且大於等於80為B; 小於80且大於等於70為C; 小於70且大於等於60為D; 小於60為E。

  輸入樣例:

98

  輸出樣例:

A

  代碼:

mydata = eval(input())
if mydata >= 90:
    print("A")
elif mydata < 90 and mydata >= 80:
    print("B")
elif mydata < 80 and mydata >= 70:
    print("C")
elif mydata < 70 and mydata >= 60:
    print("D")
else:
    print("E")

  5-1、列表去重 

  輸入一個列表,去掉列表中重復的數字,按原來次序輸出!

  輸入格式:

  在一行中輸入列表

  輸出格式:

  在一行中輸出不重復列表元素

  輸入樣例:

  在這里給出一組輸入。

  例如:

[4,7,5,6,8,6,9,5] 

  輸出樣例:

  在這里給出相應的輸出。

  例如:

4 7 5 6 8 9

  代碼:

str=eval(input())
list=list(str)
list2=[]
t=0
for i in list:
    if i in list2:
        pass
    else:
        if t==0:
            t=1elif t==1:
            print(" ",end="")
        print(i,end="")
        list2.append(i)

  6-1、 jmu-python-偶數之積

  求1到n中所有偶數的積。

  輸入格式:

  輸入整數n。

  輸出格式:

  1到n中偶數積。

  輸入樣例:

5

  輸出樣例:

8

  代碼:

n = int(input())
s= 1
for i in range(1,n+1):
    if i%2==0:
        s = s*i;
print(s)

  6-2、jmu-python-凱撒密碼加密算法

  編寫一個凱撒密碼加密程序,接收用戶輸入的文本和密鑰k,對明文中的字母a-z和字母A-Z替換為其后第k個字母。

  輸入格式:

  接收兩行輸入,第一行為待加密的明文,第二行為密鑰k。

  輸出格式:

  輸出加密后的密文。

  輸入樣例:

  在這里給出一組輸入。

  例如:

Hello World!
3

  輸出樣例:

  在這里給出相應的輸出。

  例如:

Khoor Zruog!

  代碼:

str=input()
n=int(input())
k=[]
for i in str:
    i=ord(i)
    if(i>=65 and i<=90):
        if(i+n>90):
            i=i+n-90+64
        else:
            i=i+n
    elif(i>=97 and i<=122):
        if(i+n>122):
            i=i+n-122+96
        else:
            i=i+n
    i=chr(i)
    k.append(i)
for i in k:
    print(i,end="")

 


四、函數題:

  1-1、使用函數求特殊a串數列和:

  給定兩個均不超過9的正整數a和n,要求編寫函數fn(a,n) 求a+aa+aaa++⋯+aa⋯aa(n個a)之和,fn須返回的是數列和

  函數接口定義:

fn(a,n)
其中 a 和 n 都是用戶傳入的參數。 a 的值在[1, 9]范圍;n 是[1, 9]區間內的個位數。函數須返回級數和

  裁判測試程序樣例:

/* 請在這里填寫答案 */ 
a,b=input().split()
s=fn(int(a),int(b))
print(s)

  輸入樣例:

  在這里給出一組輸入,例如:

2 3

  輸出樣例:

  在這里給出相應的輸出,例如:

246

  代碼:

def fn(a,n):
    s=0
    p=""
    for i in range(n):
        p=str(a)*(i+1)
        s=s+int(p)
    return s

  1-2、使用函數求余弦函數的近似值:

  本題要求實現一個函數,用下列公式求cos(x)近似值,精確到最后一項的絕對值小於eps:

  cos (x) = x^0 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ?

  函數接口定義:funcos(eps,x ),其中用戶傳入的參數為eps和x;函數funcos應返回用給定公式計算出來,保留小數4位。

  函數接口定義:

在這里描述函數接口,例如:
funcos(eps,x )

  裁判測試程序樣例:

在這里給出函數被調用進行測試的例子,例如:
/* 請在這里填寫答案 */
eps=float(input())
x=float(input())
funcos(eps,x )

  輸入樣例:

  在這里給出一組輸入,例如:

0.0001 -3.1

  輸出樣例:

  在這里給出相應的輸出,例如:

cos(-3.1) = -0.9991

  代碼:

def jiecheng(n):
    if n == 0:
        return 1
    sum = n * jiecheng(n - 1)
    return sum
def funcos(eps,x):
    i=0
    s=0
    while x**i/jiecheng(i)>eps or x**i/jiecheng(i)==eps:
        i=i+2
    for j in range(0,i,2):
        if j%4==0:
            s=s+x**j/jiecheng(j)
        else:
            s=s-x**j/jiecheng(j)
    print('cos({0}) = {1:.4f}'.format(x,s))

   2-1、使用函數輸出指定范圍內Fibonacci數的個數:

  本題要求實現一個計算Fibonacci數的簡單函數,並利用其實現另一個函數輸出兩正整數m和n(0<m<n≤100000)之間的所有Fibonacci數的數目。 所謂Fibonacci數列就是滿足任一項數字是前兩項的和(最開始兩項均定義為1)的數列,fib(0)=fib(1)=1。

  其中函數fib須返回第n項Fibonacci數;函數PrintFN要在一行中輸出給定范圍[m, n]內的所有Fibonacci數的個數。

  函數接口定義:

在這里描述函數接口。例如:
fib(n)
PrintFN(m,n,i)

  裁判測試程序樣例:

在這里給出函數被調用進行測試的例子。例如:
/* 請在這里填寫答案 */
m,n,i=input().split()
n=int(n)
m=int(m)
i=int(i)
PrintFN(m,n,i)

  輸入樣例:

  在這里給出一組輸入,例如:

20 100 6

  輸出樣例:

  在這里給出相應的輸出,例如:

fib(6) = 13
4

  代碼:

def fib(n):
    if n==0 or n==1:
        return 1
    #遞歸相加
    return (fib(n-1)+fib(n-2))
def PrintFN(m,n,i):
    j=0
    k=0
    while fib(j)<m:
        j=j+1
    while (fib(j)>m or fib(j)==m) and (fib(j)<n or fib(j)==n):
        k=k+1
        j=j+1
    print("fib({0}) = {1}".format(i,fib(i)))
    print(k)

  2-2、計算素數和:

  本題要求計算輸入兩個正整數x,y(x<=y,包括x,y)素數和。函數isPrime用以判斷一個數是否素數,primeSum函數返回素數和。

  輸入格式:

  輸入兩個整數。

  輸出格式:

  [m-n]間的素數和

  裁判測試程序樣例:

/* 請在這里填寫答案 */
x,y =map(int, input().split())
print(primeSum(x,y))

  輸入樣例:

2 8

  輸出樣例:

17

  代碼:

def isPrime(n):
    for i in range(2,n):
        if n%i==0:
            return False
    return True
def primeSum(x,y):
    s=0
    for i in range(y-x+1):
        if isPrime(x+i):
            s=s+x+i
    return s

  3-1、jmu-python-楊輝三角   

  根據輸入的n打印n行楊輝三角型。

  函數接口定義:

  printYanghui(n):#打印n行楊輝三角型

  裁判測試程序樣例:

/* 請在這里填寫答案 */
n = int(input())        
printYanghui(n)

  輸入格式:

  輸入n,轉化為整數

  輸出格式:

  每個數后面均有一個空格。

  輸入樣例:

5


  輸出樣例:

    1 
   1 1 
  1 2 1 
 1 3 3 1 
1 4 6 4 1 

  代碼:

def printYanghui(n):
    #存進二維
    L = [[1], [1, 1]]
    for i in range(3, n + 1):
        l = [0 for n in range(i)]
        L.append(l)
        for k in range(1, i - 1):
            L[i - 1][0] = L[i - 1][i - 1] = 1
            L[i - 1][k] = L[i - 2][k - 1] + L[i - 2][k]
    #打印
    t=1
    for m in L:
        q=n-t
        for f in range(q):
            print(" ",end="")
        for k in m:
            print(k,end=" ")
        print()
        t+=1

五、填空題:

   1-1、s='hello' ,t=" world",s=s+t。則s,s[-1],s[2:8]分別是多少?(填答案時字符串不要加引號)

    hello world          d          llo wo

  1-2、Python 表達式 10 + 5//3 –True+False的值為:

    10

  1-3、Python 表達式 round(17.0/3**2,2) 的值為:

    1.89  

  1-4、Python 表達式 0 and 1 or not 2<True 的值為:

    True

  1-5、Python 語句 print(int("20", 16), int("101",2))的輸出結果是:

    32 5

  2-1、Python中用於表示邏輯與、邏輯或、邏輯非運算的關鍵字分別是:

    and           or           not

  2-2、下列命令執行后的輸出結果是:

f=lambda x,y:y+x
f(10,10)

    20

  2-3、下列命令執行后的輸出結果是:

for s in "PYTHON":
        if s=="T":
            continue
        print(s,end="")

    PYHON

  2-4、在函數內部可以通過關鍵字global來定義全局變量。

 

  注:

  1、代碼在運行在python3編譯環境下。

  2、代碼貼上來可能會出現縮進被編輯器自動修改的問題,如出現問題請自行調整代碼縮進,畢竟在python里對縮進要求極嚴格,可能造成編譯不成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM