python中for循环语句的综合练习
程序员文章站
2022-07-13 14:11:09
...
示例一:
有1,2,3,4四个数字
求四个数字能生成多少个互不相同且无重复数字的三位数(不能含有122 133类似)
count = 0定义计数器
for i in range(1,5):产生一个1~4的数
for j in range(1,5):产生一个1~4的数
for k in range(1,5):产生一个1~4的数
if i != j and j !=k and k != i:判断三者是否互不相同
print(i * 100 + j * 10 + k)如果是就输出该三位数
count += 1并且计数器加一
print('生成%d个无重复数字的三位数' %count)打印总个数
示例二:
输入用户名和密码
判断是否正确(name = 'root', passwd = 'westos')
登录仅有3次及会,超过3次,报错
for i in range(3):
name = input('用户名: ')输入必须写在循环里面,如果写在外面就占用了依次输入的机会
passwd = input('密码: ')
if name == 'root' and passwd == 'westos':
print('登录成功!')
break
else:
print('登录失败')
print('您还剩余%d次机会' %(2-i))
else:
print('失败超过3次,请稍后再试!')
注意:for也可以和else搭配使用
示例三:
编写程序实现模拟shell中的命令行提示符
import os导入操作系统
os.system('ls')调用ls命令
a = input('[aaa@qq.com ~]$ ')输入命令行提示符
print(a)打印
for i in range(1000):
cmd = input('[aaa@qq.com ~]$ ')
if cmd:
if cmd == 'exit':
print('logout')
else:
os.system(cmd)模拟命令行中的命令,仅仅限库中有的命令
else:
continue
示例四:
求两个数的最大公约数和最小公倍数
#1.接收两个数字
num1 = int(input('Num1: '))
num2 = int(input('Num2: '))
#2.找出两个数中的最小值
min_num = min(num1,num2)
#3.最大公约数范围在1~min_num之间
for i in range(1,min_num+1):
if num1 % i ==0 and num2 %i ==0:
gys = i求最大公约数
#4.计算最小公倍数
gbs = (num1*num2 / gys)
print('%d和%d的最大公约数为: %d' %(num1,num2,gys))
print('%d和%d的最小公倍数为: %d' %(num1,num2,gbs))