1. 程式人生 > >python1210作業

python1210作業

小作業3:

5. 嘗試實現一個管理系統

=======通訊錄管理系統=======
1.增加姓名和手機
2.刪除姓名
3.修改手機
4.查詢所有使用者
5.根據姓名查詢手機號
6.退出
============================

print('''=======通訊錄管理系統=======
1.增加姓名和手機
2.刪除姓名
3.修改手機
4.查詢所有使用者
5.根據姓名查詢手機號
6.退出
============================''')
dic={'':139,'':156,'':438}
while True:
    ls=[1,2,3,4,5,6]
    a
=int(input('請輸入你要實現的功能:')) if a==ls[0]: x=input('請輸入你的姓名:') y=input('請輸入你的電話號碼:') dic[x]=y print(dic) continue elif a==ls[1]: Delete=input('請輸入你要刪除的姓名:') if x in dic: dic.pop(Delete) print('{}已刪除!'.format(Delete))
else: print('查無此人!') continue elif a==ls[2]: b=input('請輸入想要修改的聯絡人:') if b in dic.keys(): c=input('請輸入新手機號') dic[b]=c print('修改完畢') else: print('輸入無效手機號') elif a==ls[3]: for i in dic.items():
print(i) continue elif a==le[4]: d=input('請輸入你要查詢的姓名:') if d in dic: print('{}的手機號是:{}'.format(d,dic.get(d))) continue elif a==ls[5]: break

小作業4:

5. 隨機產生密碼:在26個大小寫字母和10個數字組成的列表中,隨機生成10個8位密碼

import random
a='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
a=list(a)
for x in range(10):
    c=''
    for y in range(8):
        b=random.choice(a)
        c+=b
    print(c)

小作業5:

1.通過程式碼實現如下轉換:

二進位制轉換成十進位制:v = “0b1111011”

十進位制轉換成二進位制:v = 18

八進位制轉換成十進位制:v = “011”

十進位制轉換成八進位制:v = 30

十六進位制轉換成十進位制:v = “0x12”

十進位制轉換成十六進位制:v = 87

v1 = 0b1111011
print(v1)
v2=18
v2='{:b}'.format(v2)
print(v2)
v3=0o011
v3=int(v3)
print(v3)
v4=30
v4='{:o}'.format(v4)
print(v4)
v5=0x12
print(v5)
v6=87
v6='{:x}'.format(v6)
print(v6)

3.求結果

v1 = 1 or 3 結果:1

v2 = 1 and 3 結果:3

v3 = 0 and 2 and 1 結果:0

v4 = 0 and 2 or 1 結果:1

v5 = 0 and 2 or 1 or 4 結果:1

v6 = 0 or False and 1 結果:False

7.求結果: a. [ i % 2 for i in range(10) ] b. ( i % 2 for i in range(10) )  

結果:

a = [i % 2 for i in range(10) ]
print(a)
b = (i % 2 for i in range(10) )
print(b)
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
<generator object <genexpr> at 0x7fa11da1ba98>

8.求結果: a. 1 or 2 b. 1 and 2 c. 1 < (2==2) d. 1 < 2 == 2 

結果:a=1,b=2,c=False,d=True

小作業6:

1.請寫出與 10 < cost < 50 等價的表示式
cost<50 and 10<cost

2.Python3 中,一行可以書寫多個語句嗎?

一行可以輸入多個語句,需要用分號隔開,如print("小甲魚");print("fishC")
Python3 中,一個語句可以分成多行書寫嗎?

可以

3.我們人類思維是習慣於“四捨五入”法,你有什麼辦法使得 int() 按照“四捨五入”的方式取整嗎?

a = [i % 2 for i in range(10) ]
print(a)
b = (i % 2 for i in range(10) )
print(b)

4.請用最快速度說出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or7 and 8 and 9

答案是4

5.愛因斯坦曾出過這樣一道有趣的數學題:有一個長階梯,若每步上2階,最後剩1階;若每步上3階,最後剩2階;若每步上5階,最後剩4階;若每步上6階,最後剩5階;只有每步上7階,最後剛好一階也不剩。請程式設計求解該階梯至少有多少階?

for i in range(1000):
    if i % 2 ==1:
        if i % 3 ==2:
            if i % 5 ==4:
                if i % 6 ==5:
                    if i % 7 ==0:
                        print(i)
                        break

6.假設有 x = 1,y = 2,z = 3,請問如何快速將三個變數的值互相交換?

x=1
y=2
z=3
x,y=y,x
x,z=z,x
print(x,y,z)

7.目測以下程式會列印什麼?

while True:

  while True:

    break

    print(1)

  print(2)

  break

else:

  print(3)

會打印出2

8.member.append(['竹林小溪', 'Crazy迷戀']) 和member.extend(['竹林小溪', 'Crazy迷戀']) 實現的效果一樣嗎?

不一樣。因為.append(['竹林小溪', 'Crazy迷戀'])是在member最後加上['竹林小溪', 'Crazy迷戀'],而member.extend(['竹林小溪', 'Crazy迷戀'])是在member在最後加上['竹林小溪', 'Crazy迷戀'], '竹林小溪', 'Crazy迷戀'

9.請問如何將下邊這個列表的'小笨蛋'修改為'小壞蛋'?

list1 = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]

list1 = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]
list1[1][2][0]='小壞蛋'
print(list1)

10.要對一個列表進行順序排序,請問使用什麼方法?

print(x.sort())

11.要對一個列表進行逆序排序,請問使用什麼方法?

print(x.sort(reverse=True))

12.什麼情況下你需要使用元組而不是列表?

不需要對列表修改或需要安全性高時使用元組
當元組和列表掉下水,你會救誰?
救列表,因為列表不僅可以轉化為元組,還可以進行增刪改等元組不具備的功能

13.x, y, z = 1, 2, 3 請問x, y, z是元組嗎
不是,x,y,z = 1,2,3是賦值而不是元組

14.編寫一個進位制轉換程式(提示,十進位制轉換二進位制可以用bin()這個BIF)

a=int(input('請輸入你要轉換數的進位制(2,8,10,16):'))
b=input('請輸入你要轉換的數:')
c=int(input('請輸入你要轉換成的進位制(2,8,10,16):'))
d=0
if a == 10:
    if c == 2:
        d=bin(int(b))
        print(d)
    elif c == 8:
        d=oct(int(b))
        print(d)
    elif c==16:
        d=hex(int(b))
        print(d)
elif a == 2:
    if c == 8:
        d=oct(int(b,2))
        print(d)
    elif c == 10:
        d=int(b,2)
        print(d)
    elif c == 16:
        d=hex(int(b,2))
        print(d)
elif a == 8:
    if c == 2:
        d=bin(int(b,8))
        print(d)
    elif c == 10:
        d=int(b,8)
        print(d)
    elif c == 16:
        d=hex(int(b,8))
        print(d)
elif a == 16:
    if c == 2:
        d=bin(int(b,16))
        print(d)
    elif c == 10:
        d=int(b,16)
        print(d)
    elif c == 8:
        d=oct(int(b,16))
        print(d)

15.我們根據列表、元祖和字串的共同特點,把它們三統稱為什麼?有什麼共性
稱為有序序列,可以遍歷、切片、求長度、求最大最小值、統計和索引

19.盒子裡有3個紅球,3個藍色球,4個黃球,現劉柱要從盒子裡拿出8個球,問有多少種情況

i=0
for r in range(1,4):
    for b in range(1,4):
        for y in range(1,5):
            if r+b+y == 8:
                print('紅:{},藍:{},黃:{}'.format(r,b,y))
                i+=1
print('共有{}種情況'.format(i))

20.列印9 9乘法表

for a in range(1,10):
    for b in range(1,a+1):
        print('{}*{}={:2}'.format(b,a,a*b),end=' ')
    print()

21.猴子得到一堆桃,當天吃了一半之後,又多吃了1個。以後每天,猴子都吃了剩餘的一半桃子之後,又多吃一個。在第10天,只剩下1個桃子。輸出這堆桃最初有多少個。

for a in range(1,10):
    for b in range(1,a+1):
        print('{}*{}={:2}'.format(b,a,a*b),end=' ')
    print()
[[email protected] day4-1]# cat hw13.py
a=1
for i in range(9):
    a=(a+1)*2
print(a)