基础练习


用三行print,完成以下信息的显示:


    ==================================
    =        欢迎进入到身份认证系统V1.0
    = 1. 登录
    = 2. 退出
    = 3. 认证
    = 4. 修改密码
    ==================================

print
("="*50) print("=\t欢迎进入到身份认证系统v1.0\n = 1.登录\n = 2.退出\n = 3.认证\n = 4.修改密码") #\t 是tab print("="*50) ================================================== = 欢迎进入到身份认证系统v1.0 = 1.登录 = 2.退出 = 3.认证 = 4.修改密码 ==================================================

编写程序,从键盘获取一个个信息,然后按照下面格式显示

    ==================================
    姓名: dongGe    
    QQ:xxxxxxx
    手机号:131xxxxxx
    公司地址:北京市xxxx
    ==================================

name = input("请输入你的名字") qq = input("QQ") phone = input("手机") adress = input("公司地址") print("="*50) print("姓名:%s\nQQ:%s\n手机号:%s\n公司地址:%s" %(name,qq,phone,adress)) #利用%s进行转换 print("="*50)

==================================================
姓名:黑
QQ:556
手机号:564654
公司地址:哈
==================================================


编写程序

  • 从键盘获取用户名、密码
  • 如果用户名和密码都正确(预先设定一个用户名和密码),那么就显示“欢迎登陆xxx”,否则提示密码或者用户名错误

user_name = input("请输入您的用户名: ") passwd = input("请输入您的密码: ") if user_name == "seven" and passwd == "123": #注意用户输入的是字符串 print("欢迎登录xxx") else: print("密码或用户名错误") 请输入您的用户名: seven 请输入您的密码: 123 欢迎登录xxx
请编写1 - 100 所有数的和

1.
print(sum(range(1,101)))

2.
a = 0 for i in range(1,101): #这个range的范围不包括101 a += i print(a) 5050
实现一个整数加法计算器

num = input("请输入您要计算的公式: ") r,l = num.split("+") r = int(r) l = int(l) func = r + l print(func) 请输入您要计算的公式: 8+4 12
如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。
  即:{'k1':大于66的所有值,'k2':小于66的所有值}


li = [11,22,33,44,55,66,77,88,99,90]
li.sort()
v = li.index(66)  #获得索引位置 比如这里是5
dic = {"key2":li[0:v],"key1":li[v+1:]} #运用切片 所以是分号而不是冒号
print(dic)

{'key2': [11, 22, 33, 44, 55], 'key1': [77, 88, 90, 99]}
编写代码,有如下数字
li = [1,2,3,4,5,6,7,8,8]
能组成多少个互不相同且不重复的数字的两位数

li = [1,2,3,4,5,6,7,8,8]  #注意题目给的列表有两个8
li2 = []
li3 = []
for i in li:
    for x in li:  #两次for循环分别得到两个数
        if i != x:
            a = "%d%d" %(i,x)
            li2.append(a)   #因为li列表有两个8 所以li2里面分别有两个18,28等等
for i in li2:
    if i not in li3: #li3的作用就是去除li2里重复的带8的数字
        li3.append(i)

print(li3)
print(len(li3))
输出商品列表,用户输入序号,显示用户选中的商品
  商品 商品li=["电脑","显示器",“笔记本”,“机械键盘”]
  a.允许用户添加商品
  b.用户输入序号显示内容


li=["电脑","显示器","笔记本","机械键盘"]

for i,v in enumerate(li): #enumerate函数就是得到索引的数字以及值
     print(i,v)  #向用户展示已有的商品以及序列
print("==请输入要添加的商品==")
add_mar = input(">>>  ")
li.append(add_mar)
print("==商品添加成功==")
for i,v in enumerate(li):  #将用户添加的商品添加到序列
     print(i,v)
print("==输入要查找的商品==")
cho_num = input(">>>  ")
if cho_num.isdecimal():  #确认用户输入的是否是数字类型字符串 其实if函数就是得到一个bool值 如果Ture则执行...
    cho_num = int(cho_num)
    print(li[cho_num])
else:
    print("==请再次输入==")
编写代码,实现一个判断用户输入的年份是否是闰年的程序

print("==请输入要查询的年份==")
year = int(input(">>> "))
if year % 400 == 0 or year % 4 == 0 and year % 100 != 0:
    print("yeah it is runnian")
else:
     print("not runnian")
实计算用户输入的内容中有几个十进制小数?几个字母?

print("==请输入内容==")
user_num = input(">>> ")
a = 0
b = 0
for i in user_num:
    if i.isdecimal():  #是否是十进制小数的函数
        a += 1
    if i.isalpha(): #是否是字母
        b += 1
    else:
        pass
print("数字一共有%s个,字母一共有%s个" %(a,b))
print("数字一共有",a,"字母一共有",b)

 

编写程序,统计如下各个字符串个数
string = "hello world god is allways busy"
比如:"hello world" 字符串统计的结果为: h:1 e:1 l:3 o:2 d:1 r:1 w:1

q = "hello world god is allways busy"
l = ""
for i in "".join(q.split()): #spit的作用是移除字符串中的空格 jion的作用是将分开的字符串合在一起便于循环
    if i + ":" + str(q.count(i)) not in l:
        l += (i + ":" + str(q.count(i))) + " "    #小技巧
print(l)
*编写9*9乘法表(有点难理解)

for i in range(1,10):
    for x in range(1,i+1):
        print("%d * %d = %d\t"%(x,i,i*x),end="")
    print("")
使用while,完成以下图形的输出

i = 0
s = 4   #这个点是关键
while i <= 9:
    if i <= 5:
        print("*"*i)
        i += 1
    else:
        print("*"*s)
        s -= 1
    i += 1  #i+=1之所在这个位置是执行else之后i也要加1,否则就是一个死循环
编写代码,分页显示内容

通过for循环,创建301条数据,数据类型不限,如:
alex-1alex1@live.com1
alex-2alex2@live.com2
alex-3alex3@live.com3
alex-4alex4@live.com4
alex-5alex5@live.com5

提示用户输入要查看的页码,当用户输入指定的页码,则显示指定数据
每页显示10条数据
如果用户输入页码是非十进制数字,则提示内容格式错误,重新输入

li = []
for i in range(311):
    li.append("alex-%dalex%d@live.com%d" % (i + 1, i + 1, i + 1))
print(li)
print(len(li) // 10)  #//是除完之后是整数的操作
print("请输入页数")
page_num = input(">>> ")
if page_num.isdecimal():
    page_num = int(page_num)
    if page_num > 0 and page_num <= len(li) // 10 + 1:
        for x in li[(page_num - 1) * 10:page_num * 10]:  #90页-100页
            print(x)
    else:
        print("输入超出范围")
else:
    print("输入有误请重新输入")
有如下列表,
nums=[2,7,11,15,1,8,7]
请找到列表中任意两个元素相加能够等于9的元素集合,列[(2,7), (1,8)]


li = []
nums=[2,7,11,15,1,8,7]
for i in nums:
    for x in nums:
        if i != x and i + x == 9:  #其实i!=x这个条件可以删掉 因为不可能两个重复的数相加等于9 除非是4.5
            a = list((i,x))   #小技巧 转化为列表
            a.sort()
            b = tuple(a)     #根据题意转为元组
            if b not in li:  #去重
                li.append(b)
print(li)

 

posted on 2018-05-10 15:12  monster7  阅读(735)  评论(0编辑  收藏  举报

导航