1. 程式人生 > >python新手入門程式——實驗5

python新手入門程式——實驗5

題目一:編寫程式,在 26 個字母大小寫和 10 個數字組成的列表中隨機生成 10個8位密碼。

思路:先建一個表存依次放字母和數字,共36個,存放型別是char型,所以存入時要用chr把ASCII碼轉為字元型,同時也要用ord獲取ASCII碼

import random
"""先定義這樣一個列表"""
NumAndText=[]
for i in range(26):
    NumAndText.append(chr(ord('a')+i))
for i in range(26,36):
    NumAndText.append(chr(ord('0')+i-26))
for i in range(10):
    list=[]
    for j in range(8):
        list.append(NumAndText[int(random.random()*36)])
    print(list)

題目二:通過鍵盤輸入系列整數值,輸入 0 則表示輸入結束,將這些值(不含 0)建立為一個列表,並按從大到小的順序輸出該列表各元素。

思路:存放在數組裡後直接呼叫sort函式,並且reverse=1表示從大到小

Num=[]
inDate=eval(input("輸入一個數:"))
while(inDate!=0):
    Num.append(inDate)
    inDate=eval(input())

Num.sort(reverse=True)
print(Num)

題目三:輸入一個大於 2 的自然數, 輸出小於該數字的所有素陣列成的集合。

思路:先寫一個判斷是否是素數的函式,最後從小到大依次儲存是素數的數

def checkNum(i):
    for j in range(3,i):
        if(i%j==0):
            return False
    return True

list=[]
maxNum=int(input("輸入一個大於2的數:"))
for i in range(3,maxNum+1):
    if(checkNum(i)):
        list.append(i)
print(list)

題目四:使用字典來建立程式,提示使用者輸入電話號碼,並用英文單詞形式顯示數字。例如:輸入138則顯示“one three eight”。

最終輸出會在同一行顯示

numWord=["zero","one","two","three","four","five","six","seven","eight","nine"]
phoneNum=str(input("輸入電話號碼:"))
for i in range(len(phoneNum)):
    getNum=ord(phoneNum[i])-ord('0')
    print(numWord[getNum],end=" ")