从做题的水平就可以看出来自己有多菜~安慰自己好好学习进步空间会变大的!!!
1、2、3、4这四个数字能组成多少个互不相同且没有重复数字的两位数
n=list(range(1,5))
k=[]
for i in n:
num=[i*10+j for j in n if i!=j]#列表生成式
k.extend(num)#extend可以批量添加元素
print(n,'共生成',len(k),'个符合条件的两位数')
for l in k:
print(l)
1、2、3、4这四个数字能组成多少个互不相同且没有重复数字的三位数
n=[1,2,3,4]
k=[]
for i in n:
for j in n:
num=[i*100+j*10+k for k in n if i!=j&j!=k&k!=i]
k.extend(num)
print(n,'共生成 ',len(k),'个符合条件的三位数')
for l in k:
print(l)
输入三个整数x、y、z,把三个数从小到大输出
#判断是否为数字.isdigit()
def sortnum(x,y,z):
num=[x,y,z]#生成列表,用列表排序
num.sort()
return(num)
x,y,z=input('input 3 integer:').split()
if(x.isdigit()&y.isdigit()&z.isdigit()):
print(sortnum(x,y,z))
elif:
print('input is not interger')
输入一行字符,分别统计其中 英文字母、空格、数字和其他字符个数
字符不能是换行
try:
str=input('输入一行字符')
if str=='':
raise ValueError
else:
num_alpha=0
num_space=0
num_digit=0
num_other=0
for ch in str:
if ch=='/n':
break
elif ch.isalpha():
num_alpha=num_alpha+1
elif ch==' ':
num_space=num_space+1
elif ch.isdigit():
num_digit=num_digit+1
else:
num_other=num_other+1
print(num_alpha,num_space,num_digit,num_other)
except ValueError as e:
print('invalid value:输入换行符')
finally:
print('end')
猜随机数并统计时间
import random,time
key=random.randint(1,100)
n=input('input interger between 1 and 100: ')
start=time.clock()
while int(n)!=key:
if n.isdigit()==False:
raise ValueError('input imust be an integer')
else:
n=int(n)
if n<key:
print(n,'<key')
else:
print('%s>key' %n)
n=input('input interger between 1 and 100: ')
print('the key is ',n)
elapsed = (time.clock() - start)
print("Time used:",elapsed)
#input interger between 1 and 100: 50
#50>key
#input interger between 1 and 100: 30
#the key is 30
#Time used: 2.374405963546446