python前两周练习

'''
循环吃5个馒头
但第三个馒头发霉了,不能吃
'''
print('*'*8,'吃馒头','*'*8)
name = '赵飞'
name1 = '张无忌'
for i in range(1,6):
    if i != 3:
        print('{}很饿,正在吃第{}个馒头'.format(name,i))
    else:
        print('{}说:“这个馒头发霉了,丢掉把!“'.format(name1))
print('{}说:“终于吃饱了!”'.format(name))


'''
用户的账号密码登录而且只能登陆三次,如果三次未成功账户锁定。
'''

real_account = 123456
for i in range(3):
    account = int(input('请输入六位数密码:'))
    if account == real_account:
        print('密码正确,系统进入中!')
        break
    else:
        print('密码错误,请重新输入密码!!!')
else:
    print('sorru,您输入的次数过多,账户已锁定!')

'''
打印1-30之间的所有的3的倍数
'''
for i in range(1,31):
    if i % 3 == 0:
        print('在1-31之间3的倍数的数字有:',i)

i = 1
while i <= 30:
    if i % 3 == 0 and i % 5 == 0:
        print('在1-31之间3的倍数的数字有:', i)
    i += 1

'''
使用while循环计算1-20的累加和
'''
i = 1
j = 0
while i <= 20:
    j += i
    i += 1
print(j)

'''
打印三角形
*
**
***
****
*****
'''
i = 1
while i <= 5:
    print('*'*i)
    i+=1

'''
嵌套循环:九九乘法表
'''

ceng = 1
while ceng <= 9:
    count = 1
    while count <= ceng:
        print('{}*{}={}'.format(count,ceng,(count*ceng)),end=' ')
        count +=1
    ceng += 1
    print()


'''
掷骰子

1.欢迎进入xxxx游戏
2.输入用户名,默认用户是没有币
3.提示用户充值买币(100元30币,充值必须是100的倍数,充值不成功可以再次充值)
4.玩一局游戏扣除2个币,猜大小(系统用随机数模拟骰子产生值)
5.只要猜对了奖励1个币,可以继续玩(想不想继续玩,也可以没有币自动退出)

'''
import random
print('*'*5,'欢迎进入澳门赌场','*'*5)
for i in range(1,6):      # 超过次数,则账户锁定:for...else
    name = input('请输入用户名:')
    acount = int(input('请输入六位数密码:'))
    if name=='z' and acount==1:        # 输入正确则退出for循环:break
        print('*'*9,'欢迎进入猜大小游戏','*'*9)
        money = 0
        print('您的账户余额为零,100元30个币,充值必须是100的倍数')
        money = int(input('您的账户余额为零,请充值:'))
        while True:    # 充值不成功可以一直充值:while循环
            if money % 100 == 0 and money != 0:
                money = (money // 100)*30
                print('充值成功!请开始游戏吧,玩一局扣除两个币')
                print('当前余额是:',money)
                break     # 充值成功则跳出循环
            else:
                print('充值不成功,请再次充值')
                money = int(input('您的账户余额为零,请充值:'))
        while True:
            if money < 2:
                print('余额不足请充值')
                money = int(input('您的账户余额不足,请充值:'))
                while True:  # 充值不成功可以一直充值:while循环
                    if money % 100 == 0 and money != 0:
                        money = (money // 100) * 30
                        print('充值成功!请开始游戏吧,玩一局扣除两个币')
                        print('当前余额是:', money)
                        break  # 充值成功则跳出循环
                    else:
                        print('充值不成功,请再次充值')
                        money = int(input('您的账户余额为零,请充值:'))
            money -= 2
            count = input('请输入大或小(y/n):')
            ran = random.randint(1, 12)  # 有两个骰子,大于6为大,小于等于6为小
            if count == 'y' and ran > 6:
                print('恭喜您,猜对了!奖励一个币')
                money += 1
                aa = input('您是否还想接着玩(y/n):')
                if aa == 'n':
                    print('欢迎下次再来!')
                    break
            elif count == 'n' and ran <= 6:
                print('恭喜您,猜对了!奖励一个币')
                money += 1
                aa = input('您是否还想接着玩(yes/n):')
                if aa == 'n':
                    print('欢迎下次再来!')
                    break
            else:
                print('很遗憾!您输了')
                aa = input('您是否还想接着玩(y/n):')
                if aa == 'no':
                    print('欢迎下次再来!')
                    break
        break
    else:
        print('请输入正确的账户或密码')
else:
    print('对不起,您输入的次数超过5次,请重新登录!')

'''
使用while循环实现输出1-50之间偶数的和
'''
i = 1
a = 0
while i <= 50:
    if i % 2 == 0:
        a += i
    i += 1
print(a)   #注意print的位置

'''
使用for循环实现输出1-50之间偶数的和
'''
sum = 0
for i in range(1,51):
    if i%2 == 0:
        sum += i
print('sum=',sum)
'''
str[strat:end:方向和步长]
方向:  1 表示从左向右
       -1 表示从右到左
       其余正整数数值为正向步长
       其余负整数数值为反向步长
       注意数值的顺序
       比如: 正向:5:0 就不行
             反向:5:0 就不行
'''
'''
练习:hello world
1.逆序输出world:--->dlrow
2.正向输出hello
3.逆序输出整个 hello world
4.打印获取oll
5.打印获取llo wo
'''
str = 'hello world'
print(str[-1:-6:-1])
print(str[:5])
print(str[::-1])
print(str[-7:-10:-1])
print(str[4:1:-1])
print(str[2:8])


#随机产生四位随机验证码
import random
code = ''
s = 'QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm098654321'
for i in range(4):
    ran = random.randint(0,len(s)-1)
    code +=s[ran]
print('验证码:'+code)
# 提示用户输入验证码
user_name = input('请输入验证码:')
if user_name.lower() == code.lower():  #统一转为小写的
    print('验证码输入正确!')
else:
    print('验证码错误!')

'''
输入两个字符串,从第一个字符串中删除第二个字符串中所有的字符。例如:
输入’They are student‘和'aeiou',则删除之后的第一个字符串变成’Thy  r stdnts.‘
'''
# 方法一 (打碎,判断,拼接)
str1 = 'They are students'
str2 = 'aeiou'
str3 = ''
for i in str1:
    if i not in str2:
        str3 += i
print(str3)

# 方法二: replace
str1 = 'They are students'
str2 = 'aeiou'
for i in str2:
    str1 = str1.replace(i,'')
print(str1)

# 方法三:
str1 = 'They are students'
str2 = 'aeiou'
str3 = ''
for i in str2:
    if i not in str3:
        str3 += i
print(str3)     # 去除重复项
for i in str3:
    str1 = str1.replace(i,'')
print(str1)

'''
小益喜欢的单词具有以下特性:
1.单词每个字母都是 大写字母
2.单词没有连续相等的字母

例如:
小益不喜欢‘AABB’,因为这里有两个连续的‘B’
小益喜欢‘A’,‘ABA’和‘ABCBA’这些单词
给你一个单词,你要回答小益是否喜欢这个单词。
'''
# 知识点:若需要的要求多(要同时满足好几个要求),要在if句中写入要求的相反的要求,来限制住条件。
while True:
    word = input('请输入一个单词:')
    if word is not '':
        for i in range(len(word)):    # 循环单词长度的次数
            if word[i] < 'A'and word[i] >'Z':
                print('小益不喜欢这个单词,因为没有大写字母')
                break
            else:
                if i < len(word)-1 and word[i] == word[i+1]:
                    print('小益不喜欢这个单词,因为有连词')
                    break
        else:
            print('小益喜欢这个单词')
    else:
        print('您输入的是空,请输入一个单词')

'''
循环提示用户输入:用户名,密码,邮箱(要求用户输入的长度不超过20个字符,如果超过则只有前20个字符有效)
打印输出
用户名  密码  邮箱
Admin  123  hfjs@163.com
Lily   111 yweuyr@163.com
...
如果用户输入q或Q表示不再继续输入
'''
s = ''
while True:
    print('输入的长度不超过20个字符!')
    name = input('请输入用户名:')
    password = input('请输入密码:')
    email = input('请输入邮箱:')

    name = name[:20]
    password = password[:20]
    email = email[:20]
    msg = '{}\t{}\t{}\n'.format(name,password,email)
    # expandtabs(tabsize=8) 把字符串string中的tab符号转为空格,tab符号默认的空格数是8
    msg = msg.expandtabs(20)
    s += msg  # 总的输出 循环字符串累加
    if name.lower() == 'q' or password.lower() == 'q' or email.lower() == 'q':
        break
print(s)

'''
开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如’苍老师‘,’东京热‘,则将内容替换为***
'''
content = input('请输入内容:')
判断content里面是否有列表内的敏感词
for i in ['苍老师','东京热']:
    if i in content:
        content = content.replace(i,'***')
print(content)

'''
执行程序产生验证码,提示用户输入用户名,密码,验证码。
如果正确,则提示登录成功,否则重新输入(要求产生新的验证码)
'''
import random
s = 'QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm098654321'
while True:
    core = ''
    for i in range(4):
        ran = random.randint(0,len(s)-1)  # 在(0,len(s)-1)之间产生一个数,注意是一个。
        core += s[ran]    # 验证码:位置随机,然后拼接
    print('验证码:'+core)

    username = input('请输入用户名:')
    password = input('请输入密码:')
    verification_code = input('请输入验证码:')
    if username == 'zyp' and password == '123456' and verification_code == core.lower():
        print('登录成功')
        break
    else:
        print('请重新输入')

'''
输入一行字符,统计其中有多少个单词每个单词之间以空格隔开
'''
a = 'l love python'
print('这一行字符有{}个单词'.format(a.count(' ')+1))  # space是一个空格'space',空格的次数+1
'''
name变量对应的值的前3个字符逆序输出
'''
a = 'name'
print(a[-2::-1])





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值