爬蛇的博客  
# 1 现在有字符串:'hello python18 !'(注意点:转换之后单词之间有空格),转化成列表 li = [‘hello’,‘python18’,‘!’]

a='hello python18 !'
li=a.split(" ")
print(li)

# 2.把 username = 'There is sweet man named yuze, 18 sui' 中的 'man' 字符串取出来

#方法一:判断man的索引是什么,根据索引读值

username = 'There is sweet man named yuze, 18 sui'
lists=[]
for i in username:

    if i =="m" or i=="a" or i=="n":
        lists.append(username.index(i))
print(set(lists))
print(username[15]+username[16]+username[17])

#方法二:直接动手数:(print(username[15]+username[16]+username[17]))

#  3.将给定字符串前后的空格除去,把PHP替换为Python, best_language = " PHP is the best programming language in the world! "。左右各有一个空格。


best_language = " PHP is the best programming language in the world! "

best_language2=str(best_language.strip())#去掉两端空格
if best_language2.find("PHP")!=1:
    best_language3=best_language2.replace("PHP","Python")
    print(best_language3)
else:
    print("你要找的字符不存在")


# 4.演练字符串操作
my_hobby = "Never stop learning!"
print(my_hobby[1:7])#截取从 位置2 ~ 位置6 的字符串
print(my_hobby[1:])# 截取从 位置2 ~ 末尾 的字符串
print(my_hobby[:7])# 截取从 开始位置~ 位置6 的字符串
print(my_hobby[:])# 截取完整的字符串
print(my_hobby[3::2])# 从 索引3 开始,每2个字符中取一个字符
print(my_hobby[-2:-6:-2])# 从右边开始截取,倒数第 2位置 到 倒数 5位置,步长为2
print(my_hobby[-1:-3:-1])# 截取字符串末尾两个字符
print(my_hobby[-1::-1])#字符串的逆序
# 说明:“位置”指的是字符所处的位置(比如位置1,指的是第一个字符“N”),“索引”指的是字符的索引值(比如索引0, 代表的是第一个字符“N”)

  


# 1、下面那些不能作为标识符? # .1、find     2、 _num   3、7val   4、add.    5、def      6、pan     #  7、-print   8、open_file 9、FileName   10、print   11、INPUT   #  12、ls     13、user^name  14、list1   15、str_ ------------------------------------------------------

 


  

# 3、卖橘子的计算器:写一段代码,提示用户输入橘子的价格,和重量,最后计算出应该支付的金额!
def show():
price=input("请输入橘子的价格(元):")
weight=input("请输入橘子的重量(kg):")
try: if isinstance(eval(price),int or float) and isinstance(eval(weight),int or float):
print("你应该支付的金额是:{}".format(eval(price)*eval(weight)))
except Exception as e: print("—————————————————————————————————————————\n你输入的橘子价格或重量不是数字\n\t\t请重新输入\n—————————————————————————————————————————")
show()
show()
# 4、a = True , b = (99 // 2 == 1), c = 0 判断真假: # 一, not b # 二, a and b # 三, a and b and c # 四, (a or c) and b
b = (99 // 2 == 1)
a = True
c = 0
#--------------------------
print(not b)
print(a and b)
print(a and b and c)
print((a or c) and b)

-------结果----------

True
False
False
False

  

-----------------1.根据你输入的数据,来进行判断学生的成绩。输入数据函数:input() ------------
def score(a=60):#给定默认参数
if isinstance(a,int):#判断是否是整数
if 80>a >=60:
return "及格"
elif a>=80:
return "优秀"
else:
return "不及格"
else:
return "请输入整数"
print("你的成绩是",score(45))
------------------------------------------------------------------------
# 一家商场在降价促销。如果购买金额50-100元(包含50元和100元)之间,
# 会给10%的折扣,如果购买金额大于100元会给20%折扣。
# 编写一程序,询问购买价格,再显示出折扣(%10或20%)和最终价格
#todo 可以做循环询问
def price():
jia_ge=input("请输入衣服的价格")
if 50<= eval(jia_ge) <=100:
print("折扣价是",eval(jia_ge)*(1-0.1))
elif 100< eval(jia_ge):
print("折扣价是",eval(jia_ge)*(1-0.2))
else:
print("很抱歉,你没有折扣")
if __name__ == '__main__':
price()

---------------------------嵌套循环输出10-50中个位带有1-5的所有数字----------------------------------------
方法一:单层循环
a=[1,2,3,4,5]
for i in range(10,51):
    if i%10 in a:
        print(i)
    else:
        pass

# 方法二:双层循环
list=[]
for i in range(10,51):
    for j in range(1,6):
        list.append(j)
    if i%10 in list:
        print(i)
    else:
        print("数字{}不在列表list中".format(i))

# 方法三:
for i in range(10,51):
    for y in range(1,6):
        a=10+y
        b=20+y
        c=30+y
        d=40+y
        if i==a or i==b or i==c or i==d:
          print("符合条件的有{}".format(i))
        else:
          pass

 

--------------------------------- 输入三个数字,以逗号隔开,输出其中最大的数--------------------------------


digist=input("请输入三个数字,以逗号分开")
a=digist.split(",")#split切割后就是列表
print(max(a))

 

 

-------------------利用内置函数chr(),ord()以及random模块写一个简单随机4位验证码-------------------

import random
def auth_code():
    ss=0#循环次数
    while ss<5:#当验证码输入错误五次,禁止输入
        strs=""
        a="1234"#想要生成几位数的验证码,修改字符串元素个数即可
        for i in a:
         sjs=random.randint(48,57)#对应ascci编码
         # print(chr(sjs),end="")
         strs+=(chr(sjs))#将十进制数转成基本字符
        print(strs)
        yzm=input("请输入上面的验证码")
        if yzm==strs:
            print("验证码输入正确")
            break#验证码输入正确,跳出循环
        else:
            print("验证码输入错误")
            ss += 1#输入次数+1
if __name__ == '__main__':
    auth_code()

方法二

import random

s=random.choices("0123456789",k=4)
st=""
for i in s:
    st+=i
print(st)
sss=input("请输入验证码")
if st==sss:
    print("验证码正确")
else:
    print("验证码错误")

 

 

# b.实现用户输入用户名和密码,当用户名为 seven且密码为123时,
# 显示登陆成功,否则登陆失败,失败时允许重复输入三次

 

 

 ----------------------------------------------------------------------------------------------------------------------------------

class Digt:
    #用户输入一个数字。
    # 判断是几位数。
    # 打印每一位数字及其重复的次数。

def __init__(self):
        self.lists = []
        self.a = []
    def sz(self):
        count=0
        while count<5:
           number=input("请输入数字")
           if number.isdigit():
               if len(number)==1  :
                   print("{}是一个1位数的数字".format(number))
                   self.lists.append(number)
                   count+=1
               elif len(number)==2:
                   print("{}是一个2位数的数字".format(number))
                   self.lists.append(number)
                   count+=1
               elif len(number)==3:
                   print("{}是一个3位数的数字".format(number))
                   self.lists.append(number)
                   count += 1
               elif len(number)==4:
                   print("{}是一个4位数的数字".format(number))
                   self.lists.append(number)
                   count += 1
               elif len(number)==5:
                   print("{}是一个5位数的数字".format(number))
                   self.lists.append(number)
                   count += 1
               elif len(number)==6:
                   print("{}是一个6位数的数字".format(number))
                   self.lists.append(number)
                   count += 1
               else:
                   print("只能输入小于等于6位数的数字")
           else:
               print("只能输入数字")
    def list1(self):
        for i in self.lists:
            # print(i)
            if i not in self.a:
                self.a.append(i)
    def list2(self):
        self.sz()
        self.list1()
        for j in self.a:
            cishu=self.lists.count(j)#统计j出现的次数
            print("{}出现的{}次".format(j, cishu))
        print(self.lists)#查看列表
        print(self.a)#查看列表

if __name__ == '__main__':
    Digt().list2()

 

# 请实现一个函数,将一个字符串中的每个空格替换成“%20”。
# 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

def rp_kongge(s):
    if str(s).find(" ")!=-1:
        a=str(s).replace(" ","%20")#字符串是不可变的数据类型,想要改变,需要存到一个新的变量里
        print(a)
    else:
        print("异常")
rp_kongge("We Are Happy")


--------------运行结果--------------------------
We%20Are%20Happy

 

 1、现在有字符串:str1 = 'python cainiao 666'
# ---------  1、请找出第 5 个字符。  -----------------
str1 = 'python cainiao 666'
print(str1[4])
# ---------2、请复制一份字符串,保存为 str_two-----------------
str_two=str1[:]

# ------------、请找出最中间的字符。--------------
print(str1[8:-8])


# 2、用户输入一个数值,请判断用户输入的是否为偶数?是偶数输出True,不是输出False(提示:input输入的不管是什么,都会被转换成字符串,自己扩展,想办法转换为数值类型,再做判段,)
def input_sz():
    sz=input("请输入一个数字")
    try:
       if  isinstance(eval(sz),int) or isinstance(eval(sz),float):
            if eval(sz) % 2 == 0:
                print("True")
            else:
                print("False")
    except Exception as e:
        input_sz()
input_sz()

  

posted on 2019-04-02 11:30  爬蛇  阅读(573)  评论(0编辑  收藏  举报