python(for循环语句,while循环语句)

一、range()函数

# >>> range(5)    
# [0, 1, 2, 3, 4]
# >>> range(7)
# [0, 1, 2, 3, 4, 5, 6]
# >>> range(1,7)
# [1, 2, 3, 4, 5, 6]
# >>> range(2,7)
# [2, 3, 4, 5, 6]
# >>> range(1,10,2)
# [1, 3, 5, 7, 9]
# >>> range(1,10,1)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
# >>> range(0,10,2)
# [0, 2, 4, 6, 8]
# >>> range(2,11,2)
# [2, 4, 6, 8, 10]

range()    ##内置python函数
range(stop):0~stop-1
range(start,stop):start~stop-1
range(start,stop,step):start~stop-1,step为步长

二、for循环语句
求1~100的数字之和:

# sum = 0
# for i in range(1,101):
#     sum = sum + i
# print(sum)

需求1:求1~100之间的所有偶数之和

sum = 0
for i in range(2,101,2):
	sum += i
print(sum)

需求2:求1~100之间的所有的奇数之和

sum1=0
for i in range(1,100,2)
	sum1 =+ i
print(sum1)

需求3:用户输入一个数字,求该数的阶乘:3!=321

num = int(input('Num:'))
res = 1
for i in range(1,num+1):
    res = res * i
print('%d的阶乘的结果为:%d' %(num,res))

三、break和continue和exit

break:跳出整个循环,不会再循环后面的内容
continue:跳出本次循环,continue后面的代码不再执行,但是循环依然继续
eixt():结束程序的运行

for i in range(10):
    if i == 5:
        #break
        #continue
        exit()
    print(i)

print('hello python')

四、python(for循环练习)
(1) 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?(for中嵌套if语句)
解法一:

 for a in range(1,5):
        for b in range(1,5):
            for c in range(1,5):
                if a != b and b !=c and a!=c:
                    print(a,b,c)
        #     pass
        # pass

解法二:

num = (1,2,3,4) 
count=0 
for i in num: 
	for j in num: 
		for k in num: 
			if i!=j and j!=k and k!=i: 
				print('%d%d%d'%(i,j,k)) 
				count+=1 
print('一共有%d个无重复数字'%count)

(2)实现命令行提示符

import os

for i in range(1000):
    cmd = input('[root@test ~]# ')
    if cmd:
        if cmd == 'exit':
            print('logout')
            break  
        else:
            print('run %s' %(cmd))
            # 运行shell命令
            os.system(cmd)
    else:
        continue

(3)用户登陆
1.输入用户名和密码;
2.判断用户名和密码是否正确(name=‘root’,passwd=‘westos’)
3.登录仅有三次机会,超过3次会报错

for i in range(3)
	name = input('用户名:')
	passwd = input('密码:')
	if name == ‘root’ and passwd == ‘westos’:
		print(‘登陆成功!!’)
	else:
		print(‘登陆失败’)
		print(‘您还剩余%d次机会 %(2-i)’)
else;
	print('登陆次数超过三次,请稍后登陆')

(4)求最大公约数最小公倍数
输入两个数值:
求两个数的最大公约数和最小公倍数.
最小公倍数=(num1*num2)/最大公约数

 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):   ##包括min_num,所以需要加1
    if num1 % i ==0 and num2 % i == 0:  ##从1开始找,当两个数求余都为0时,找到最大公约数
        # 当循环结束的时候,gys中保存的就是最大的公约数
        gys = i

 4.最小公倍数=两个数相乘再除以它们的公约数
lcm = int((num1*num2)/gys)

print('%s和%s的最大公约数是:%s' %(num1,num2,gys))
print('%s和%s的最小公倍数是:%s' %(num1,num2,lcm))

五、while循环语句

while 条件满足:
满足条件执行的语句
else:
不满足条件执行的语句
例:

 sum = 0
 i = 1
 while i<=100:
     sum += i
     i +=1
 print(sum)

#while循环解决用户登陆问题,只能输入三次密码
#for i in range(3):  #0,1,2
i = 0
while i<3:
    name = input('用户名:')
    passwd = input('密码:')
    if name == 'root' and passwd == 'westos':
        print('登陆成功')
        # 跳出整个循环,不会再执行后面的内容
        break
    else:
        print('登陆失败')
        print('您还剩余%d次机会' %(2-i))
        i += 1
else:
    print('登陆次数超过三次,请等待100s后再试~')

while死循环:

# while True:
#     print('~~~~~~~~~~~~~')

while 2>1:
    print('%%%%%')

六、phthon(while循环语句练习题)
(1)用while循环来计算1到100相加

1.定义一个整数记录循环的次数 
i = 0 
2.定义最终结果的变量 
result = 0 
3.开始循环 
while i <= 100: 
	print(i) 
4.每次循环都让result和i这个计数器想加 
	result += i 
5.处理计数器 
	i += 1 
print('0~100之间的数字求和结果为 %d' %result)

(2)在控制台连续输出五行*,每一行星号数量依次递增

*
**
***
****
*****
******
*******
********
*********

*****
****
***
**
*
     *
    **
   ***
  ****
 *****
******

row = 1
while row <=9:
    col = 1
    while col <= row:
        print('%d * %d = %d\t' %(row,col,col*row),end='')
        col +=1
    print('')
    row += 1

row=1
while row<=5:
	col=1
	while col <= row
		print('*',end=‘’)
		col+=1
	print('')
	row +=1 
    
row1=1
while row1<=5:
	col1=1
	while col1<=5-row1+1:
    	print('*',end='')
    	col1+=1
 	print('')
	row1+=1
		
row3=1 
while row3<=5: 
	kong1=1 
	while kong1<=5-row3: 
		print(" ",end='') 
		kong1+=1 
	col3=1 
	while col3<=row3: 
		print('*',end='') 
		col3+=1 
	print('') 
	row3+=1
	
row2=1 
while row2<=5: 
	kong=1 
	while kong<row2: 
		print(" ",end='') 
		kong+=1 
	col2=1 
	while col2<=5-row2+1: 
		print('*',end='') 
		col2+=1 
	print('') 
	row2+=1

\t:在控制台输出一个制表符,协助我们在输出文本的时候在垂直方向保持对齐,对齐符
print(‘1 2 3’)
print(‘10 20 30’)
print(‘1\t2\t3’)
print(‘10\t20\t30’)

\n:在控制台输出一个换行符
print(‘hello\npython’)

\:转义字符
print(‘what’s’)
print(“what’s”)

(3) 猜数字游戏
if , while, break
1. 系统随机生成一个1~100的数字;
** 如何随机生成整型数, 导入模块random, 执行random.randint(1,100);
2. 用户总共有5次猜数字的机会;
3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖100万",并且退出循环;

import random 
i=0 
while i<=2: 
	player = int(input('请输入你要比较的数字:')) 
	computer = random.randint(1, 100) 
	print(computer) 
	if (computer == player): 
		print('恭喜中奖100万') 
		break 
	elif (computer > player): 
		print('too small') 
		print('你还有%d次机会'%(2-i)) 
	else: print('too big') 
		print('你还有%d次机会' % (2 - i)) 
	i+=1 
print('三次机会已经用光')

(4)乘法表打印(正着打印,反着打印)

分别四种情况 
a=1 
while a<=9: 
	b=1 
	while b<=a: 
		print('%dx%d=%d\t'%(a,b,a*b),end='') 
		b+=1 
	a+=1 
	print('') 

a=9 
while a>=0: 
	b=1 
	while b<=a: 
		print('%dx%d=%d\t'%(a,b,a*b),end='')
		b+=1 
	a-=1 
	print('') 

a=1 
while a<=9: 
	c=1 
	while c<=9-a: 
	print("\t\t",end=' ') 
	c+=1 
	b=1 
	while b<=a: 
		print('%dx%d=%d\t'%(a,b,a*b),end='') 
		b+=1 
	a+=1 
	print('') 

a=9 
while a>=0: 
c=1 
while c<=9-a: 
	print("\t\t\t",end='' ) 
	c+=1 
b=1 
	while b<=a: 
		print('%dx%d=%d\t'%(a,b,a*b),end='') 
		b+=1 
	a-=1 
	print('')
  • 6
    点赞
  • 0
    评论
  • 45
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

风雨呼呼

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值