dayup=1.0
dayfactor = 0.01
for i in range(365):
if (i%7) in [6,0]:
dayup *= 1-dayfactor
else:
dayup *= 1+dayfactor
print("dayup:{:.2f}".format(dayup))
a,n=map(int,(input('请输入不超过9的两个数:(格式如2 3)').split(' ')))
s=b=0
for i in range (n):
b=a*(10**i)+b
s+=b
print("s={}".format(s))
n=eval(input())
if n <=2:
ls=[]
for i in range(n):
ls.append(1)
else:
ls=[1,1]
for i in range(2,n):
a=ls[i-1]+ls[i-2]
ls.append(a)
print(ls)
- #在26个大写子母和26个小写字母和10个数字之间随机产生一个8位数的密码
import random
ls1=[chr(i) for i in range (65,91)]
ls2=[chr(i) for i in range (97,123)]
ls3=[i for i in range(1,11)]
ls=ls1+ls2+ls3
lt=[]
for i in range(8):
x=random.choice(ls)
lt.append(x)
print (lt)
- 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:
首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:
Z:0 1 2 3 4 5 6 7 8 9 10
M:1 0 X 9 8 7 6 5 4 3 2
输入一个身份证号码,请你验证校验码的有效性,给出结论是否为合法身份证号码
输入样例:
320124198808240056
输出样例:
320124198808240056是合法身份证号
id=input()
wei=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
M=['1','0','X','9','8','7','6','5','4','3','2']
tol=0
for i in range(17):
tol+=int(id[i])*wei[i]
z=tol%11
if (M[z])==(id[-1]):
print('{} is valid'.format(id))
else:
print('{} is invalid'.format(id))
对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在一行中给出正整数N。
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
输入样例:
321
输出样例:
3 6
---------------
num = input()
b=len(num)
tol=sum(map(int,list(num)))
print('{} {}'.format(b,tol))
- 本题要求统计给定整数M和N区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。
输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例:
10 31
输出样例:
7 143
import math
def isPrime(n):
for i in range(2,int((math.sqrt(n)))+1):
if(n%i==0):
return False
return True
M,N=map(int,input().split(' '))
tol=t=0
for i in range(M,N+1):
if(isPrime(i)):
print(i,end=' ')
t+=1
tol+=i
print('\n{} {}'.format(t,tol))
- 重复元素判定。编写一个函数,接受列表作为参数,如果一个元素在列表中出现不止一次,则返回True,否则返回False。但不要改变原来列表的值。同时编写调用这个函数和测试结果的程序。
def isMore(ls):
lt=[]
for i in range(len(ls)):
lt.append(ls.count(ls[i]))
if lt.count(1)<len(ls):
return True
else:
return False
print(isMore([1,2,3,'4',1]))