python学习-练习题

1、使用while循环输入 1 2 3 4 5 6     8 9 10

# cat lx.py 
#!/usr/local/bin/python3.6


#邹姣姣
#使用while循环输入 1 2 3 4 5 6     8 9 10

i = 1
while i < 11:
    if i == 7:
        print("  ",end=" ")  # 可用pass关键字,什么都不执行
    else:
        print(i,end=" ")
    i = i + 1
print(" ")

执行结果:

# ./lx.py   
1 2 3 4 5 6    8 9 10  

 

2、求1-100的所有数的和

[root@localhost python3练习]# cat lx1.py 
#!/usr/local/bin/python3.6


#邹姣姣
#求1-100的所有数的和
i = 1
sum1 = 0
sum2 = 0

print("while循环1到100的和:")
while i <= 100:
    if i != 100:
       print(i,end="+")
    else:
       print(i,end="=")
    sum1 = sum1 + i
    i = i+1
    
print(sum1)


print("for循环1到100的和:")
for j in  range(1,101):
    if j != 100:
        print(j,end="+")
    
    else:
        print(j,end="=")
    sum2 = sum2 + j
print(sum2)

执行结果:

[root@localhost python3练习]# ./lx1.py  
while循环1到100的和:
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=5050
for循环1到100的和:
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=5050

 

3、输出 1-100 内的所有奇数,输出 1-100 内的所有偶数

[root@localhost python3练习]# cat lx2.py 
#!/usr/local/bin/python3.6


#邹姣姣
#输出 1-100 内的所有奇数,偶数

print("1-100内的所有奇数:")
for i in range(1,101):
    if i%2 != 0 :
        print(i,end=" ")

print("\n1-100内的所有偶数:")
for i in range(1,101):
    if i%2 == 0 :
        print(i,end=" ")
    
print()

执行结果:

[root@localhost python3练习]# ./lx2.py   
1-100内的所有奇数:
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 
1-100内的所有偶数:
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 

 

4、求1-2+3-4+5 ... 99的所有数的和

[root@localhost python3练习]# cat lx3.py 
#!/usr/local/bin/python3.6


#邹姣姣
#求1-2+3-4+5 ... 99的所有数的和

i=int(input("请输入需要求和的最终数字:"))
if i%2 == 0:
    sum1 = 0  - i / 2
else:
   sum1 = i - (i-1) / 2  

print("1-2+3-4+5 ... {} 的所有数的和为 {}".format(i,sum1))

执行结果:

[root@localhost python3练习]# ./lx3.py   
请输入需要求和的最终数字:99
1-2+3-4+5 ... 99 的所有数的和为 50.0

 

5、用户登陆(三次机会重试)

[root@localhost python3练习]# cat lx4.py 
#!/usr/local/bin/python3.6


#邹姣姣
#用户登陆(三次机会重试)

username='zoujiaojiao'
password='12345678'
i = 0
while i < 3:
    name=input("请输入登录账户:")
    if name != 'zoujiaojiao':
        print("没有此用户")
    else:
        pword=input("请输入密码:")
        if pword != '12345678':
            print("密码错误!")
        else:
print("登录成功!")
break i = i + 1 print(" ")

执行结果:

[root@localhost python3练习]# ./lx4.py
请输入登录账户:zoujiaojiao
请输入密码:1
密码错误!
请输入登录账户:zoujiaojiao
请输入密码:12345678
登录成功!

[root@localhost python3练习]# ./lx4.py
请输入登录账户:zoujiaojiao
请输入密码:1
密码错误!
请输入登录账户:z
没有此用户
请输入登录账户:zoujiaojiao
请输入密码:3
密码错误!

 6、元素分类

有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}

[root@localhost python3练习]# cat lx5.py    
#!/usr/local/bin/python3.6


#邹姣姣
#有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。

li = [11, 22, 33, 55, 66, 44, 77, 88, 99, 100]

#for循环找出数值,加入到字典中
li1 = []
li2 = []
dic = {}
for i in li:
    if i > 66:
        li1.append(i)
    elif i < 66:
        li2.append(i)
dic.update(k1=li1, k2=li2)
print("dic:",dic)

#用if字句做个过滤,将大于66和小于66的进行分类后加入到字典中
dic1={}
li3 = [ i for i in li if i > 66]
li4 = [ i for i in li if i < 66]
dic1.update(k1=li3, k2=li4)
print("dic1:",dic1)

执行结果:

[root@localhost python3练习]# ./lx5.py   
dic: {'k1': [77, 88, 99, 100], 'k2': [11, 22, 33, 55, 44]}
dic1: {'k1': [77, 88, 99, 100], 'k2': [11, 22, 33, 55, 44]}

 

7、查找

查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
    li = ["alec", " aric", "Alex", "Tony", "rain"]
    tu = ("alec", " aric", "Alex", "Tony", "rain") 
    dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}
[root@localhost python3练习]# cat lx6.py  
#!/usr/local/bin/python3.6


#邹姣姣
#查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。

li = ["alec", " Aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain") 
dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}
print("li元素处理情况:")
li2 = [li2.strip() for li2 in li]
for s in li2:
    if s.startswith("a") or s.startswith("A") and s.endswith("c"):
        print(s)
print(li2)

print("tu元素处理情况:")
li3 = list(tu)
li4 = [li4.strip() for li4 in li3]
for s in li4:
    if s.startswith("a") or s.startswith("A") and s.endswith("c"):
        print(s)
print(tuple(li4))

print("dic元素处理情况:")
dic2 = {}
for i,v in dic.items():
    v=v.strip()
    dic2.setdefault(i,v)
    if v.startswith("a") or v.startswith("A") and v.endswith("c"):
        print(i,":",v)
print(dic2)

执行结果:

[root@localhost python3练习]# ./lx6.py   
li元素处理情况:
alec
Aric
['alec', 'Aric', 'Alex', 'Tony', 'rain']
tu元素处理情况:
alec
aric
('alec', 'aric', 'Alex', 'Tony', 'rain')
dic元素处理情况:
k1 : alex
k2 : aric
{'k1': 'alex', 'k2': 'aric', 'k3': 'Alex', 'k4': 'Tony'}

 

 
8、输出商品列表,用户输入序号,显示用户选中的商品
    商品 li = ["手机", "电脑", '鼠标垫', '游艇']
[root@localhost python3练习]# cat lx7.py   
#!/usr/local/bin/python3.6


#邹姣姣
#输出商品列表,用户输入序号,显示用户选中的商品

li = ["手机", "电脑", '鼠标垫', '游艇']
count = 1
print("商场有以下商品:")
for i in li:
    print("{} : {}".format(count,i))
    count = count + 1

n = int(input("请输入序号:"))
print(li[n-1])

执行结果:

[root@localhost python3练习]# ./lx7.py   
商场有以下商品:
1 : 手机
2 : 电脑
3 : 鼠标垫
4 : 游艇
请输入序号:4
游艇

 

 
9、购物车

功能要求:

  • 要求用户输入总资产,例如:2000
  • 显示商品列表,让用户根据序号选择商品,加入购物车
  • 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
  • 附加:可充值、某商品移除购物车
[root@localhost python3练习]# cat lx8.py     
#!/usr/local/bin/python3.6


#邹姣姣
#功能要求:
#
#要求用户输入总资产,例如:2000
#显示商品列表,让用户根据序号选择商品,加入购物车
#购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
#附加:可充值、某商品移除购物车
#

li = [["手机",3000], ["电脑",5000], ['鼠标垫',20], ['游艇',300000]]
count = 1
money = int(input("请输入总资产:"))
shopping_cart = []

print("商场有以下商品:")
for i in li:
    print("{} : {} 价格 {} 元".format(count,i[0],i[1]))
    count = count + 1

print("选择商品序列号加入购物车,选择完毕请输入ok")
n = 0
while str(n) != "ok":
    n = input()
    if n != "ok":
        shopping_cart.append(li[int(n) - 1])
print("已经加入购物车的商品:{}".format([x[0] for x in shopping_cart]))

print("选择商品序列号将该商品移除购物车,移除完毕请输入ok")
nn = 0
while str(nn) != "ok":
    nn = input()
    if nn != "ok":
        del shopping_cart[int(nn)-1]
print("已经加入购物车的商品:{}".format([x[0] for x in shopping_cart]))

v = 0
for j in li:
    j = j[1]
    v = v + int(j)    
print("商品总价:{}".format(v))

mm = 0
if money - v > 0:
    print("购买成功!")
    print("购物车已经清空!")
    shopping_cart.clear()
else:
    nnn = input("账户余额不足!充值请输入ok后进行充值")
    if nnn == "ok":
        mm = int(input("充值金额:"))
        print("账户总资产:{}".format(money + mm))

执行结果:

[root@localhost python3练习]# ./lx8.py   
请输入总资产:1234
商场有以下商品:
1 : 手机 价格 30002 : 电脑 价格 50003 : 鼠标垫 价格 204 : 游艇 价格 300000 元
选择商品序列号加入购物车,选择完毕请输入ok
1
2
ok
已经加入购物车的商品:['手机', '电脑']
选择商品序列号将该商品移除购物车,移除完毕请输入ok
1
ok
已经加入购物车的商品:['电脑']
商品总价:308020
账户余额不足!充值请输入ok后进行充值ok
充值金额:10000
账户总资产:11234

 

posted @ 2019-05-21 16:59  邹姣姣  阅读(1082)  评论(0编辑  收藏  举报