1.编写一个函数,输入一个不超过5位的正整数,输出该数为几位数,并逆序打印出各位数字。例如:输入 456,则输出(3,654)。
a=input('输入一个不超过5位的正整数:')
m = len(a)
print('这个数是',m,'位数')
n=a[::-1]
for i in n:
print(i,end='')
2.利用函数编写程序,生成50个随机数据,模拟一个班的考试成绩(要求在40~100分之间),计算这批数据的平均分、最高分和最低分,并由高到低输出排序值。
import random
from random import randint
random.seed(7)
a=[randint(40,100) for i in range(50)]
a.sort()
total=0
for i in range(len(a)):
total=total+a[i]
avg=total/len(a)
print("平均分:",avg)
#最低分
print("最低分:",min(a))
print("最低分:",a[0])
#最高分
print("最高分:",max(a))
print("最高分:",a[49])
#高到低排序:
b=a[::-1]
print("高到低:",b)
3.编写程序,以整数17为随机数种子,以用户输入的整数N为长度,产生3个长度为 N位的密码,密码的每位是一个数字,每个密码单独一行输出(产生密码采用 random.randint()函数)
import random
def genpwd(length):
a = 10**(length-1)
b = 10**length -1
return "{}".format(random.randint(a, b))
print('请输入整数N的长度:')
length = eval(input())
random.seed(17)
for i in range(3):
print(genpwd(length))
4. 定义一个函数,函数参数为一个用户输人的小于10000的正整数,分解它的各位数字,并以一个元组的形式返回,在主程序中调用该函数。
def position(a):
lst=[]
for i in str(a):
lst.append(int(i))
return print(tuple(lst))
position(2417)
5.随机输人若干个不超过2位的正整数(输入-1表示输人结束),找出其中所有同构数并排序输出。(正整数n若是它平方数的尾部,则称n为同构数。如5的平方数是25,且5是25的尾部,那么5就是一个同构数。同理,25的平方为625,25也是同购数。)
def getNum():
nums=[]
iNumStr=input()
while iNumStr !='-1':
if(len(iNumStr) in[1,2]):
if(iNumStr.isdigit()):
nums.append(eval(iNumStr))
iNumStr=input()
return nums
def tonggou(n):
list=[]
for i in n:
if(len(str(i))==1):
if(str(i)==(str(i*i))[-1]):
list.append(i)
if(len(str(i))==2):
if(str(i)==(str(i*i))[-2:]):
list.append(i)
return list
def main():
s=getNum()
m=tonggou(s)
m.sort()
print("同构数有:",end=' ')
for e in m:
print(e,end=' ')
main()