python(for循环,while循环及字符串的使用)

for循环
for i in range(10):

求阶乘

#输出
a = int(input('请输入一个值:'))
#阶乘控制单位
total = 1
#求阶乘
for i in range(1,a+1,1): ##起始值为1,终止符为a+1,间隔为1求阶乘
    total *= i
print(total)

练习求1,2,3,4四个数字可以组成多少个不同的且不重复的三位数字

"""
file:求1,2,3,4四个数可以组成多少个不重复且不相同的三位数字并打印
date:2019-6-23 09:46
description:
"""
#不相同数字的数目
num = 0
#对三位数字取值
for g in range(1,5,1):
    for s in range(1,5,1):
        for b in range(1, 5, 1):
#判断三个数字是否有相同数字,若没有则打印且num自加1
            if(g != s and g != b and b != s ):
                print('%d%d%d' %(b,s,g))
                num += 1
#输出有多少个不重复数字
print('共%d个不重复且不相同的数字' %(num))
在这里插入代码片

跳出循环
break:跳出循环
continue:continue后的程序不执行,但后续循化会继续执行
exit:终止程序运行(exit为函数)

for循环实现用户登录

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

for循环实现用户登录
"""
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('失败超过三次,请稍后再试')

简单实现shell命令

import os
for i in range(1000):
    cmd = input('[root@python ~]')
    if cmd:
        if cmd == 'exit':
            print('logout')
        else:
            os.system(cmd)
    else:
        continue

求最大公约数与最小公倍数

a = int(input('输入第一个数:'))
b = int(input('输入第二个数:'))
small = min(a,b)
big = max(a,b)
sum = 1
for i in range(1,small+1):
    if (a % i == 0) and (b % i == 0):
        sum = 1 * i
    continue

print('最大公约数为:%d' %(sum))
print('最小公倍数为%d' %(a*b/sum))

while
while 条件:
条件满足时,做的事情
条件满足时,做的事情

eg:
#1.定义计数器
i = 0
#2.条件判断
while i < 3:
	#3.处理计数器
    i = i + 1
    print("%d" %(i))

while实现for循环编辑的简易用户登录

i = 0
while i <= 2:
    name = input('用户名:')
    passwd = input('密码:')
    if ((name == 'root') and (passwd == 'westos')):
        print('登陆成功')
        break
    else:
        print('登陆失败')
        print('您还有%d次机会' %(2-i))
        i = i + 1
else:
    print('失败超过三次,请稍后再试')

while打印四种直角三角形
第一行输出1颗星,每行依次加一颗星,直至第五行
第一种

  row = 1

while row <= 5:
    col = 1
    while col <= row:
        print('*',end='')
        col += 1
    print('')
    row += 1

python(for循环,while循环及字符串的使用)_第1张图片
第二种
倒序输出上题条件

row = 1

while row <= 5:
    col = 5
    while col >= row:
        print('*',end='')
        col -= 1
    print('')
    row += 1

第三种
python(for循环,while循环及字符串的使用)_第2张图片

row = 1
while row <= 5:
    col = 1
    while col < row:
        print(' ',end='')
        col += 1
    while col >= row and col <= 5:
        print('*',end='')
        col += 1
    print('')
    row += 1

python(for循环,while循环及字符串的使用)_第3张图片
第四种

row = 1
while row <= 5:
    col = 1
    while col <= (5 - row):
        print(' ',end='')
        col += 1
    while (col >(5-row) and col <=5):
        print('*',end='')
        col += 1
    print('')
    row += 1

python(for循环,while循环及字符串的使用)_第4张图片
打印乘法口诀表

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

猜数字游戏
1.电脑随即输入1~100中的某个数字
2.玩家输入数字若正确则输出“congratulation”
3.若数字太大则提示“too big“
4.若数字太小则提示“too small”
5.共有五次机会

import random
num = 0
c = int(random.randint(1, 100))
while True and num <=4 :
    print('您还有%d次机会' % (5 - num))
    i = int(input('请输入数字:'))
    if i == c:
        print('congratulation')
        break
    elif i > c:
        print('too big')
        num += 1
    else:
        print('too small')
        num += 1
if num == 5:
    print('数字为%d,你猜错啦' %(c))

字符串定义
定义:
a = ‘hello’
b = “westos”
c = ‘let’s go’
d = “let’s go”
e = “”"
1.打印
2.复制
3.copy
“”"
字符串特性
###索引
#s = ‘hello’
#print(s[0])
#print(s[1])
#print(s[2])
python(for循环,while循环及字符串的使用)_第5张图片

###切片
#print(s[0:3])##输出1到第三个字符
#print(s[:3])
#print(s[0:4:2]) #s[startstep],从start开始,从end-1结束,补偿为step
#print(s[:])#打印全部字符串
#print(s[::-1])#反向输出字符串
#print(s[1:])#输出第二个到最后一个字符
#print(s[:-1])#除了最后一个字符都输出
#print(s[-1]) #只输出最后一个字符

#重复
#print(s * 5)
a = ‘hello’
hello hello hello hello hello

#连接
print(‘hello’+‘world’)
helloworld
判断大小写与大小写转换和文件查找
判断输出都为True与False
print(‘hello’.istitle()) ##判断hello是否为题目,首字母大写
print(‘hello’.isupper()) 判断hello是否为全大写
print(‘heLLo’.islower()) 判断heLLo是否为全小写

#大小写转换
print(‘hello’.upper()) 转换hello为大写
print(‘heLLo’.lower()) 转换heLLo为小写

#判断文件类型是否以.log结尾
filename = ‘hello.log’
if filename.endswith(’.log’):
print(filename)
else:
print(‘error’)
python(for循环,while循环及字符串的使用)_第6张图片
a = ’ hello ’
b = ‘hello’
print(a)
print(a.strip())##去除两边的空格
print(a.lstrip())##去除左边的空格
print(a.rstrip())##去除右边的空格
print(b.lstrip(‘h’))##去除左边的h

python(for循环,while循环及字符串的使用)_第7张图片
字符串的搜索和替换
s = ‘hello world hello’
#find找到子串并返回最小的索引
print(s.find(‘hello’))
print(s.find(‘world’))
#find找到子串并返回最大的索引
print(s.rfind(‘hello’))
print(s.rfind(‘world’))

#字符串统计
print(s.count(‘l’))
print(s.count(“l”))

#字符串替换
print(s.replace(’ ‘,’ westos’)) 把‘ ’替换为westos

a = input('输入一串字符:')
b = input('输入另一串字符:')
for i in b[:]:
        a = a.replace(i,'')
print(a)

python(for循环,while循环及字符串的使用)_第8张图片

#字符串的分离和连接
s = ‘172.25.254.142’
s1 = s.split(’.’) #以点为分割符号切割s并将其赋值给s1
print(s1)
s2 = (s1[::-1]) # 将s1倒序赋值给s2
print(s1[::-1])
date = ‘2019-06-23’
date1 = date.split(’-’)
print(date1)

#连接
print(’-’.join(date1))
print(’.’.join(s2))

你可能感兴趣的:(python)