python循环小练习

万丈高楼平地起,现在开始打地基

#coding=utf-8
# 2.1 99乘法表
for i in range(1,10):
for j in range(1,i+1):
print '%d*%d=%d'%(j,i,i*j),
print
#考虑点:1.j的范围在i+1,保持乘法表特征 2.等式的逗号保持在不出范围的前提下,不换行 3.在乘完一轮后添加print换行

#2.2 统计成绩分布
def grade(n):
if n>=90 and n<=100:
return u'优秀'
elif n>=80 and n<90:
return u'良好'
else:
return u'你不行'
print grade(100)
print grade(84)
print grade(10)
#return值,中文改为unicode格式
#2.3 打印一个口子
print '* * * * * * * * * * * *'
print '* *'
print '* *'
print '* *'
print '* *'
print '* *'
print '* * * * * * * * * * * *'
#亮点:最二写法
#2.6 统计字符串中的字母,数字,其他字符个数
def numbers(str1):
import string
dig=0
st=0
ot=0
for i in str1:
if i in string.digits:
dig+=1
elif i in string.letters:
st+=1
else:
ot+=1
return u'数字的个数是:%d'%dig+' '+u'字母的个数是:%d'%st+' '+u'其他值的个数是:%d'%ot
print numbers('abc123,./')
#注意换行符 反斜杠,而且是字符串,和其他字符串以+号连接
#打印100以内的素数
def susu(n):
import math
if n<=1:
return False
for i in range(2,int(math.sqrt(n))+1):
if n%i == 0:
return False
return True
print susu(5)
print susu(66)
print susu(83)
#素数除以2到自己的开方+1的和,结果等于0,则不是素数 否则是素数;return False 和 True必须得首字母大写
#2.10 猜数字
import random
def guess():
n=int(raw_input('please input a number>'))
g=random.randint(0,10)
#print g
if n==g:
print 'yes'
else:
print 'no'
guess()
#注意点:随机取数random.randint(0,10)之前的数字
原文地址:https://www.cnblogs.com/xinguichun/p/5998196.html