摘要:终端执行py、素数、统计lnbo个数、水仙花数、回文串、矩阵对角线、阶乘之和、猜数字游戏
在终端中执行python文件
#exp1 终端执行python文件
##!/usr/bin/env python3
#cd /Users/left/Documents /t1.py
#chmod a+x t1.py
#.t1.py
print("Hi, Python!")
print("Welcome ...")
print("Happy You!")
打印 [m,n] 的所有素数及个数
def isPrime(n):
if(n<=1):
return False
for i in range(2,n):
if n%i == 0 :
return 0
return n
def main():
#一次输入多个参数:map(类型,input().split(分隔符))
m,n = map(int,input().split(','))
print("m=%d,n=%d" % (m,n))
count=0; #计算素数的个数
for i in range (m,n+1): #区间[m,n+1)
if(isPrime(i)):
print(isPrime(i))
count +=1
print("素数的个数是:",count)
if __name__=="__main__":
main()
统计lnbo个数(letter/number/blank/other)
def lnbo(s):
#s="helllo12345aa*&@*"
letter = number = blank = other = 0
for i in range(0,len(s)):
if s[i]>='A' and s[i]<='Z' or s[i]>='a' and s[i]<='z':
letter +=1
elif s[i]>='0' and s[i]<='9':
number +=1
elif s[i]==' ':
blank+=1
else:
other+=1
#py返回多个值 以元组逐个接收
#https://jingyan.baidu.com/article/1876c852d3c2abc80a137629.html
return letter, number, blank, other
def main():
s="helllo12345aa*&@*"
print("s=",s)
l,n,b,o = lnbo(s)
print("letter=",l)
print("number=",n)
print("blank=",b)
print("other=",o)
if __name__=="__main__":
main()
输出1000以内水仙花数
如果一个3位数等于其各位数字的立方和,这个数就是水仙花数。
def Narci():
#水仙花数 abc=a³+b³+c³
#153,370,371,407
for i in range(100,1000):
s=str(i)
a=int(s[0])
b=int(s[1])
c=int(s[2])
#print("s=%s,i=%d,a=%d,b=%d,c=%d" %(s,i,a,b,c))
if (a**3 + b**3 + c**3) == i :
print(i)
def main():
print("水仙花数 Narcissus:\nabc=a³+b³+c³")
Narci()
if __name__=="__main__":
main()
回文串判断
def isPalind(s):
if s==s[::-1]: #利用步长为-1的切片进行逆序
return True
else:
return False
def main():
s=input("Enter a string of 5 chars:")
print("is palindrome:",isPalind(s))
if __name__=="__main__":
main()
矩阵主对角线之和
def matrixDiagonal(m):
sum=0
for i in range(0,len(m)): #行
for j in range(0,len(m[0])):#列
if i==j:
sum+=m[i][j]
return sum
def main():
m=[[1,2,3],[3,4,5],[4,5,6]]
print("m=",m)
print("对角线之和:",matrixDiagonal(m))
if __name__=="__main__":
main()
∑n!(n=20) 阶乘之和
def factorial(n):
fact = 1 #初始值
for i in range(1,n+1):
fact *= i
return fact
def main():
sum = 0
for i in range(1,21):
sum += factorial(i)
print("∑n!(n=20)",sum)
if __name__=="__main__":
main()
猜数字游戏
def guessNum():
import random
K = random.randint(0,100) #key
print("K=%d" % K)#测试的时候用一下 不想折半查找
A = int(input("Enter a number:")) #answer
t = 0 #trial
while A != K:
t+=1
if A > K:
print("That's too high.")
else:
print("That's too low.")
A = int(input("Enter a number again:"))
if A == K:
print("Bingo!")
print("You've tried %d times." % t)
return
def main():
print("猜大小游戏:")
guessNum()
if __name__=="__main__":
main()