我的练习题

-----------------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()

 

 

转载于:https://www.cnblogs.com/tzxy/p/10641573.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值