for i inrange(0,10):for j inrange(0,i+1):print('{}x{}={}\t'.format(i,j,i*j),end='')print()
2.求1-2+3-4+5 … 99的所有数的和
sum=0for i inrange(0,100):if i%2==1:sum+= i
else:sum-=i
print(sum)
3.输入一行字符, 分别统计出其中英文字母、空格、数字和其它字符的个数
s =input('输入字符:')
alpha =0
num =0
space =0
other =0for i in s:if i.isalpha():
alpha +=1elif i.isnumeric():
num +=1elif i.isspace():
space +=1else:
other +=1print('字母={},数字={},空格={},其他={}'.format(alpha,num,space,other))
4.python求阶乘之和,1!+2!+3!+…+n!
#定义递归函数实现阶乘功能defrecursion(s):if s ==1:return1else:return s*recursion(s-1)#进行求和
n =int(input('输入数字='))sum=0for i inrange(1,n+1):sum+= recursion(i)print(sum)
5.有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
defnRepeatedNum():
a =[]for i inrange(1,5):for j inrange(1,5):for k inrange(1,5):
num =100*i +10*j + k
if i!=j and j!=k and i!=k and num notin a:
a.append(num)print(len(a),a)
nRepeatedNum()#方法二 使用itertools函数defnRepeatedNum():import itertools
temp_arr =list(itertools.permutations([1,2,3,4],3))# 排列 # A_4^3 = (4)!/(4-3)! = (4*3*2*1)/1 = 24
arr =[100*t[0]+10*t[1]+t[2]for t in temp_arr]print(len(arr),arr)
import math
for i inrange(-100,1000):
m = math.sqrt(i+100)
n = math.sqrt(i+100+168)if m%1==0and n%1==0:print(i)#如果不想使用开方函数,也可以使用Xueyang_Liu的方法也行。根据之前的推论x<=83.5,所以实际取值范围可以写成x<84。
arr=[]
result=[]for i inrange(84):
arr+=[i**2]for elem in arr:if elem+168in arr:
result+=[elem-100]print(result)
8.输入某年某月某日,判断这一天是这一年的第几天?
'''
【个人备注】:知道python有时间元组这一概念,这道题完全不需要计算。
时间元组包含九个属性
tm_year 年
tm_mon 月(1~12)
tm_mday 日(1~31)
tm_hour 时(0~23)
tm_min 分(0~59)
tm_sec 秒(0~61, 60或61是闰秒)
tm_wday 星期(0~6, 0是周一)
tm_yday 第几天(1~366, 366是闰年)
tm_isdst 夏令时(1夏令时、0非夏令时、-1代表未知。平时写代码基本用不到。夏时令是指部分国家地区,夏季人为将时间调快一小时,早睡早起,以便充分利用夏日光照,节约用电。中国从1992年起就没有再执行过这个了)
'''import time
date =input('输入时间(例如2018-01-23):')
st = time.strptime(date,'%Y-%m-%d')# 时间文本转化成时间元祖
num = st.tm_yday
print(num)
9.斐波那契数列
#按照分割的方式,每次取列表后两项,然后相加
l =[0,1]for i inrange(10):
arr = l[-2:]
l.append(arr[0]+arr[1])print(l)
10.打印出所有的"水仙花数
#所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。for i inrange(100,1000):
a = i//100
b = i%100//10
c = i%10if i == a**3+ b**3+c**3:print(i)
11.将一个正整数分解质因数。例如:输入90,打印出90=233*5
import math
num =int(input('输入整数:'))
arr =[]while num >1:for i inrange(2,int(math.sqrt(num))+1):if num%i ==0:
arr.append(i)
num = num//i
breakelse:
arr.append(num)breakprint(arr)
total =0
m =100# 第一次落地,经过了一百米
total += m
for i inrange(10-1):# 之后9次弹起到落地
m = m /2# 弹起的高度
total +=2* m # 弹起然后重新落地,一共经过的距离print(total)print(m /2)
15.乒乓球比赛问题
'''
两个乒乓球队进行比赛,各出三人。
甲队为a,b,c三人,乙队为x,y,z三人。
已抽签决定比赛名单。有人向队员打听比赛的名单。
a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
'''import itertools
jia =['a','b','c']
yi =['x','y','z']
arr =list(itertools.permutations(yi,3))
arr =[[jia[i]+a[i]for i inrange(3)]for a in arr]for i in arr:if'ax'in i:passelif'cx'in i or'cz'in i :passelse:print(i)for a in['x','y','z']:for b in['x','y','z']:for c in['x','y','z']:if a!=b and b!=c and c!=a:if a!='x'and c!='x'and c!='z':print('a'+a,'b'+b,'c'+c)
#取一个整数a从右端开始的4-7位
a =123456789
b =str(a)print(b[-7:-3])
18.打印出杨辉三角形(要求打印出10行)
arr =[1]print(1)whilelen(arr)<10:# [1,1]
a =[0]+ arr # [0,1,1]
b = arr +[0]# [1,1,0]
arr =[a[i]+ b[i]for i inrange(len(a))]# [1,2,1]
s =[str(i)for i in arr]print(' '.join(s))
这里写自定义目录标题python简单程序1.九九乘法表2.求1-2+3-4+5 ... 99的所有数的和3.输入一行字符, 分别统计出其中英文字母、空格、数字和其它字符的个数4.python求阶乘之和,1!+2!+3!+...+n!5.python简单程序1.九九乘法表for i in range(0,10): for j in range(0,i+1): print('{}x{}={}\t'.format(i,j,i*j),end='') print()2.求1-