1. 程式人生 > >現實應用實例

現實應用實例

ont 技能 float 驗證碼 輸入 n) 分享 rem 金額

1、購物車

c=[]
sum=0
a=[
    {"name":"電腦","price":1000},
    {"name":"鼠標","price":2000},
    {"name":"優盤","price":3000},
    {"name":"硬盤","price":4000},
    {"name":"音響","price":5000}
]
for i in a:
    print(i["name"],i["price"])
b=int(input("請輸入總資產:"))
while True:
    d=input("請輸入需要購買的商品名稱(輸入y退出):")
    if d=="y":
        break
    for j in a:
        if d==j["name"]:
            c.append([j["name"],j["price"]])
for k in c:
    sum=sum+k[1]
print(c)
print("總價格:",sum)
if sum>b:
    print("余額不足,請充值")
    x = input("y:充值,n:退出")
    if x=="n":
        print("歡迎下次光臨")
    if x=="y":
        while True:
            p=int(input("請輸入充值金額:"))
            b=b+p
            print("恭喜充值成功    余額:",b,"結算金額:",b-sum)
            s=input("是否結算? 結算:1  繼續充值:2    :")
            if s=="1":
                if sum>b:
                    print("金額不足,請繼續充值")
                if sum<b:
                    print("購物成功,歡迎下次光臨")
                    break
            if s=="2":
                continue
else:
    print("購物成功")

2、驗證碼

import random                          #導入random模塊
temp=""                                #定義一個空字符串,為後面拼接用
for i in range(4):                    #循環四次,生成四位的驗證碼
    j=random.randrange(5)             #隨機生成一個數
    if j==3 or j==1:                 #如果生成1或3的話就讓第一位為數字
        b=random.randrange(0,9)
        temp=temp+str(b)             #生成的整數必須轉成字符串類型進行拼接
    else:
        a=random.randrange(65,90)
        temp=temp+chr(a)
print(temp)

3、三級聯動

dict= {
    "東北":{
        "吉林省":{
            "吉林市":[‘吉林市1‘,‘吉林市2‘],
            "長春":[‘長春1‘,‘長春2‘],},
        "遼寧省":{
            "沈陽":[‘沈陽1‘,‘沈陽2‘,‘沈陽3‘],
            "大連":[‘大連1‘,‘大連2‘],
                },
            },
    ‘華北‘:{
        ‘河北省‘:{
            ‘廊坊‘:[‘廊坊1‘,‘廊坊2‘],
            ‘保定‘:[‘保定1‘,‘保定2‘],
                },
        ‘內蒙古‘:{
            ‘呼和浩特‘:[‘呼和浩特1‘,‘呼和浩特2‘,‘呼和浩特3‘],
            ‘包頭‘:[‘包頭1‘,‘包頭2‘]
                },

        },
    }
for i in dict:
    print(i)
a=input("請輸入所要進入的地區:")
for o in dict[a]:
    print(o)
b=input("請輸入要進入的省:")
for p in dict[a][b]:
    print(p)
c=input("請輸入所要進入的市:")
for l in dict[a][b][c]:
    print(l)

4、賬號註冊登錄

def login(a,b):
    """
    用於用戶名和密碼的驗證
    :param a: 用戶名
    :param b: 密碼
    :return:Ture  用戶驗證成功   False  用戶驗證失敗
    """
    c=open("334.txt","r",encoding="utf-8")
    for line in c:
        line=line.strip()          #默認strip無參數用於去除換行符和空格
        new_line=line.split("*")    #有參數,移除兩端指定的值
        if new_line[0]==a and new_line[1]==b:
            return True
    return False

def yanzheng(a):
    """
    用於驗證用戶名是否存在
    :param a: 用戶名
    :return: True  用戶名存在
    """
    c=open("334.txt","r",encoding="utf-8")
    for line in c:
        line=line.strip()          #默認strip無參數用於去除換行符和空格
        new_line=line.split("*")    #有參數,移除兩端指定的值
        if new_line[0] ==a:
            return True

def zhuche(a,b):
    """
    用於用戶註冊
    :param a: 用戶名
    :param b: 密碼
    :return: True   註冊成功
    """
    c = open("334.txt", "a", encoding="utf-8")
    temp="\n"+ a + "*" + b
    c.write(temp)
    return True

def min():
    print("歡迎登錄英雄聯盟官網")
    m=input("登錄:1;註冊:2")
    if m=="1":
        f1=input("請輸入用戶名:")
        f2=input("請輸入密碼:")
        f3 = login(f1, f2)
        if f3:
            print("登錄成功")
        else:
            print("登錄失敗")
    elif m=="2":
        f1=input("請輸入用戶名:")
        f2=input("請輸入密碼:")
        f4=yanzheng(f1)
        if f4:
            print("用戶名已存在")
        else:
            f5=zhuche(f1,f2)
            if f5:
                print("恭喜註冊成功")

min()

計算器

技術分享
import re
def f1(a):
    a = re.sub(" ","",a)
    a = a.replace(‘--‘, ‘+‘).replace(‘++‘, ‘+‘).replace(‘-+‘, ‘-‘).replace(‘+-‘, ‘-‘)
    if "*" in a or "/" in a:
        while True:
            b = re.split("([\-]?\d+[.]?\d*[/*][\-]?\d+[.]?\d*)",a,1)
            if len(b) == 3:
                c = re.split("([/*])",b[1])
                if c[1]== "*":
                    d = float(c[0])*float(c[2])
                    a = b[0]+str(d)+b[2]
                else:
                    d = float(c[0])/float(c[2])
                    a = b[0]+str(d)+b[2]
            else:
                e = re.findall("[\-+]?\d+\.?\d*", a)
                sun = 0
                for i in e:
                    sun = sun + float(i)
                return sun
    else:
        e = re.findall("[\-+]?\d+\.?\d*", a)
        sun = 0
        for i in e:
            sun = sun + float(i)
        return sun
def f2(a):
    a = re.sub(" ", "", a)
    if "*" in a or "/" in a:
        while True:
            a = a.replace(‘--‘, ‘+‘).replace(‘++‘, ‘+‘).replace(‘-+‘, ‘-‘).replace(‘+-‘, ‘-‘)
            b = re.split("(\d+[.]?\d*[/*][\-]?\d+[.]?\d*)", a, 1)
            if len(b) == 3:
                c = re.split("([/*])", b[1])
                if c[1] == "*":
                    d = float(c[0]) * float(c[2])
                    a = b[0] + str(d) + b[2]
                else:
                    d = float(c[0]) / float(c[2])
                    a = b[0] + str(d) + b[2]
            else:
                e = re.findall("[\-+]?\d+\.?\d*", a)
                sun = 0
                for i in e:
                    sun = sun + float(i)
                return sun
    else:
        e = re.findall("[\-+]?\d+\.?\d*", a)
        sun = 0
        for i in e:
            sun = sun + float(i)
        return sun
while True:
    r=re.split("\(([^()]+)\)",a,1)
    if len(r)==3:
        m=f1(r[1])
        a=r[0]+str(m)+r[2]
        print(a)
    else:
        r=f2(a)
        print(r)
        break
print(eval(a))
技術分享

驗證碼

方法一

import random
li=[]
for i in range(6):
    a=random.randrange(0,9)
    if a==2 or a==6:
        b=random.randrange(0,9)
        li.append(str(b))
    else:
        b=random.randrange(65,90)
        li.append(chr(b))
print("".join(li))

遊戲

import random
import time
import sys
def outer(func):
    def f(n):
        print("* ☆∵▁▂▄▂▁★∵∴☆★∵∴\n∴★◢█████◣ * ☆∴★∵★ * ☆\n☆◢████☆██◣∴    天氣冷了,☆\n◢■◤█████◥█◣送你一件毛衣, * ★\n◥◤  █████◥◤∵小心別著涼了\n\t  █████\n\t  █████")
        r = func(n)
        return r
    return f
for i in range(31):
    time.sleep(0.2)
    sys.stdout.write("\r")
    sys.stdout.write("%s %% |%s"%(int((i/30)*100),i*"██"))
    sys.stdout.flush()
print("\n\t\t歡迎來到英雄聯盟PK擂臺")
print("劍聖\t\t石頭\t\t亞索\t\t瑞文\t\t薇恩\t\t老鼠\n卡牌\t\t劫\t\t劍姬\t\t安妮\t\t龍王\t\t女槍\n男槍\t\t螳螂\t\t蠻王\t\tEZ\t\t金克斯")
opp = input("請選擇戰鬥的英雄1:")
odd = input("請選擇戰鬥的英雄2:")
occ = input("確定:Y   重選:N")
class Swordman:
    def __init__(self,name):
        self.blood = 2000
        self.Name = name
    @outer
    def Q(self):
        self.blood = self.blood - 100
        print("霸道的%s使用地震碎片技能,%s受到100點傷害,當前血量:%s"%(opp,odd,self.blood))
    @outer
    def W(self):
        self.blood = self.blood + 200
        print("%s得到200點血量,當前血量:%s"%(odd,self.blood))
    @outer
    def E(self):
        self.blood = self.blood - 150
        print("霸道的%s使用野蠻打擊技能,%s受到150點傷害,當前血量:%s"%(opp,odd,self.blood))
    @outer
    def R(self):
        self.blood = self.blood - 300
        print("霸道的%s使用勢不可擋技能,%s受到300點攻擊,當前血量:%s"%(opp,odd,self.blood))

class Rock:
    def __init__(self,name):
        self.blood = 3000
        self.Name = name
    @outer
    def Q(self):
        self.blood = self.blood - 150
        print("%s受到150點攻擊,當前血量:%s" %(odd,self.blood))
    @outer
    def W(self):
        self.blood = self.blood - 120
        print("%s受到120點攻擊,當前血量:%s" %(odd,self.blood))
    @outer
    def E(self):
        self.blood = self.blood - 110
        print("石頭受到110點攻擊,當前血量:%s" % self.blood)
    @outer
    def R(self):
        self.blood = self.blood - 250
        print("%s受到250點攻擊,當前血量:%s" %(odd,self.blood))

obj1 = Swordman(opp)
obj2 = Rock(odd)
print(" %s\n     血量:%s\n     Q攻擊:%s\n     W攻擊:%s\n     E攻擊:%s\n     R攻擊:%s\n"%(opp,obj1.blood,150,120,110,250))
print(" %s\n     血量:%s\n     Q攻擊:%s\n     W攻擊:%s\n     E攻擊:%s\n     R攻擊:%s\n"%(odd,obj2.blood,100,200,150,300))
while True:
    time.sleep(0.5)
    ret=random.randrange(9)
    if ret == 1 or ret == 3 or ret == 5 or ret == 7:
        tump = random.randrange(9)
        if tump == 1 or tump == 2:
            obj1.Q()
        elif tump == 3 or tump == 4:
            obj1.W()
        elif tump == 5 or tump == 6:
            obj1.E()
        else:
            obj1.R()
    else:
        att = random.randrange(9)
        if att == 1 or att == 2:
            obj2.Q()
        elif att == 3 or att == 4:
            obj2.W()
        elif att == 5 or att == 6:
            obj2.E()
        else:
            obj2.R()
    if obj1.blood < 0:
        print("%sKO%s"%(opp,odd))
        break
    elif obj2.blood < 0:
        print("%sKO%s"%(odd,opp))
        break

輪播圖

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="jquery-1.9.1.min.js"></script> <style> *{ margin: 0; padding: 0; } .box{ position: relative; width: 730px; height: 454px; border: dashed 5px gold; margin: 0 auto; } img{ position: absolute; } .num{ position: absolute; font-size: 0; /*使li之間的間距為0*/ width: 100%; /*使文本內容居中*/ text-align: center; bottom: 10px; } .num li{ width: 20px; height: 20px; border-radius: 60%; line-height: 20px; text-align: center; list-style: none; display: inline-block; font-size: 16px; margin: 5px; cursor: pointer; } .r,.l{ display: inline-block; width: 30px; height: 60px; background-color: #9f9f9f; font-size: 25px; line-height: 60px; text-align: center; position: absolute; top: 50%; right:0; margin-top: -30px; cursor: pointer; } .l{ left: 0; } .rl{ display: none; } .box:hover .rl{ display: block; } .num ul li.color{ background-color: red; color: white; } </style> </head> <body> <div class="box"> <div class="tu"> <img src="1.jpg" > <img src="2.jpg" > <img src="3.jpg" > <img src="4.jpg" > <img src="5.jpg" > </div> <div class="num"> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> </div> <div class="rl hide" > <span class="l"><</span> <span class="r">></span> </div> </div> <script> $(".num li").first().addClass("color"); $(".num li").mouseover(function () { $(this).addClass("color").siblings().removeClass("color"); var index = $(this).index(); i=index;/*表示鼠標放上去再離開後,能夠走他後面的那個圖,而不是跟定時器的節奏走*/ $("img").eq(index).fadeIn(1000).siblings().fadeOut(1000); }); var time = setInterval(move,2000); i = 0; function move() { i++; if(i==5){i=0} $(".num li").eq(i).addClass("color").siblings().removeClass("color"); $("img").eq(i).fadeIn(1000).siblings().fadeOut(1000); } $(".box").hover(function () { /*hover裏面的第一個函數表示鼠標放上去以後執行,後一個表示鼠標移除後執行*/ clearInterval(time) },function () { var time = setInterval(move,2000); } ); $(".r").click(function () { move() }); $(".l").click(function () { i=i-2; if(i==-2){i=3} move() }) </script> </body> </html>

現實應用實例