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=" ")

猜你喜欢

转载自blog.csdn.net/BIEBIBIBI/article/details/83010933