本片文章主要是有关for语句的几个Python小程序
1. 假设有一个登录界面,从键盘上输入登录的用户名和用户密码,当用户名为seven以及用户密码为123时打印登录成功,其他情况打印登录失败,一共有三次机会,当三次机会均用完且未能登录成功时,退出该登录程序;当登录成功时,打印登录成功并退出登录程序。代码如下:
for i in range(3):
name = input("请输入用户名:")
password = input("请输入密码:")
if name=="seven" and password=="123":
print("登陆成功")
break;
else:
print("登录失败")
结果如下:
请输入用户名:111
请输入密码:222
登录失败
请输入用户名:yeuwh
请输入密码:222
登录失败
请输入用户名:seven
请输入密码:123
登陆成功
请输入用户名:222
请输入密码:111
登录失败
请输入用户名:888
请输入密码:664
登录失败
请输入用户名:268352
请输入密码:
登录失败
Process finished with exit code 0
2.计算1到100的和:
sum=0
for i in range(101):
sum=sum+i
print(sum)
在这个代码中需要注意的是如果不定义sum则会出现这样的错误:
TypeError: unsupported operand type(s) for +: 'builtin_function_or_method' and 'int'
上述提示错误:是因为在Python中不需像C一样,需要 int sum (指定sum的类型),但并不是说可以直接放在表达式中去计算,所以还是需要先定义的(这些都是小细节,平时都应该尽量避免,做好类似问题的收集)。
3. 手动输入三个班级学生的成绩(每一个班级中各有五名同学),并计算出这三个班级的平均分。
for i in range(0,3):
print("欢迎来到第%d个班"%(i+1))
sum=0
for j in range(0,5):
s=int(input("请输入第%d个学生成绩: "%(j+1)))
sum=sum+s
print("第%d个班的学生平均成绩为%.02f" %((j+1),(sum/5)))
注释1:for i in range(0,3)语句中i是从0开始的,所以在代码的第二行中打印的是i+1,sum定义在第一个for循环中是因为:在第二个for循环下手动输入了5个学生的成绩,并将这5名同学的成绩加起来计算总和,此时的sum(总和)是每一个班级都需要有一个的,当在第一个循环中定义一个sum=0后,第一个循环结束后相当于对sum进行了清零。(此代码不在显示运行结果)
注释2:在Python中sum/5的结果是带小数点的数,sum//5代表对5整除。
4. 打印正三角和倒三角:
print("正三角")
for i in range(0, 5):
for j in range(int(i+1)):
print("* ",end="")
print("")
print("")
#倒三角
print("倒三角")
for i in range(0,5):
for j in range(int(5-i)):
print("* ",end="")
print(" ")
打印结果如下:
正三角
*
* *
* * *
* * * *
* * * * *
倒三角
* * * * *
* * * *
* * *
* *
*
5. 打印九九乘法表
# 九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print("%dx%d=%d "%(i,j,i*j),end="")
print("")
运行结果如下:
1x1=1
2x1=2 2x2=4
3x1=3 3x2=6 3x3=9
4x1=4 4x2=8 4x3=12 4x4=16
5x1=5 5x2=10 5x3=15 5x4=20 5x5=25
6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36
7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49
8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64
9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81