python 实验3 循环结构
实验一 九九乘法表
描述:输出一个九九乘法表,格式如下:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
for i in range(1,10): for j in range(1,10): print(j,"*",i,"=",j*i," ",end="") if(j==i): print() break
运行结果(直接截取结果图)
实验二 数列求和
描述:给定某数字a(1≤a≤9)以及非负整数n(0≤n≤100000),求数列之和sum=a+aa+aaa+⋯+aa⋯a(n个a)。例如a=2, n=3时,sum=2+22+222=246。
a=eval(input("请输入数字a(1≤a≤9)")) n=eval(input("非负整数n(0≤n≤100000)")) sum=0 b=a for j in range(n): for i in range(j): sum = sum + b b=b*10+a print("总和为:",sum)
运行结果(直接截取结果图)
实验三 密码强度判断
描述:用户输入一个字符串做为密码,判断密码强度,规则为:密码长度小于8弱密码,密码长度大于等于8且包含至少2种字符为中等强度、密码包含3种字符为强、包含全部4种字符为极强。
提示:
string.digits 可返回'0123456789'
string.ascii_lowercase 可返回'abcdefghijklmnopqrstuvwxyz'
string.ascii_uppercase 可返回'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.punctuation 可返回'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
import string pwd=input("请输入密码") word=1 if(len(pwd)<8): print("密码强度弱") else: for i in pwd: if(i in string.digits): word=word+1 break; for i in pwd: if (i in string.ascii_lowercase): word = word + 1 break for i in pwd: if (i in string.ascii_uppercase): word = word + 1 break; for i in pwd: if (i in string.punctuation): word = word + 1 break; if(word==2): print("密码强度中等") elif(word==3): print("密码强度强") else: print("密码强度极强")
运行结果(直接截取结果图)
实验四 棋盘放米
描述:相传古代印度国王舍罕要褒赏他的聪明能干的宰相达依尔 (国际象棋发明者),问他需要什么,达依尔回答说:“国王只要在国际象棋的棋盘第一个格子里放一粒麦子,第二个格子里放两粒,第三个格子里放四粒,按此比例以后每一格加一倍,一直放到64格(国际象棋棋盘是8×8=64格),我就感恩不尽,其他的我什么也不要了,”国王想:“这有多少,还不容易!”让人扛来一袋小麦,但不到一会儿全用没了,再来一袋很快又没有了,结果全印度的粮食全部用完还不够,国王纳闷,怎样也算不清这笔账,请你帮国王计算一下,共需多少粒麦子,写出程序。
num=0 for i in range(64): num=num+pow(2,i) print("共需要",num,"粒麦子")
运行结果(直接截取结果图)
实验五 阶乘求和
描述:求1!+2!+3!+...的前n项的和,n从键盘输入
n=eval(input("求1!+2!+3!+...的前n项的和,请输入n=")) sum=0 def mui(i): if(i<=1): return 1 else: return mui(i-1)*i for i in range(n): sum=sum+mui(i+1) print(sum)
运行结果(直接截取结果图)