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=''
i = 0
while i < 3:
name=input("请输入登录账户:")
if name != 'zoujiaojiao':
print("没有此用户")
else:
pword=input("请输入密码:")
if pword != '':
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、查找
[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'}
[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
游艇
功能要求:
- 要求用户输入总资产,例如: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 : 手机 价格 3000 元
2 : 电脑 价格 5000 元
3 : 鼠标垫 价格 20 元
4 : 游艇 价格 300000 元
选择商品序列号加入购物车,选择完毕请输入ok
1
2
ok
已经加入购物车的商品:['手机', '电脑']
选择商品序列号将该商品移除购物车,移除完毕请输入ok
1
ok
已经加入购物车的商品:['电脑']
商品总价:308020
账户余额不足!充值请输入ok后进行充值ok
充值金额:10000
账户总资产:11234
python学习-练习题的更多相关文章
- python学习——练习题(10)
""" 题目:暂停一秒输出,并格式化当前时间. """ import sys import time def answer1(): &quo ...
- python学习——练习题(9)
""" 题目:暂停一秒输出. 程序分析:使用 time 模块的 sleep() 函数. http://www.runoob.com/python/python-date- ...
- python学习——练习题(6)
""" 题目:斐波那契数列. 程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21 ...
- python学习——练习题(4)
""" 题目:输入某年某月某日,判断这一天是这一年的第几天? """ import datetime import time from fu ...
- python学习——练习题(1)
""" 题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? """ import itertools d ...
- python学习——练习题(13)
""" 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个" ...
- python学习——练习题(12)
""" 题目:判断101-200之间有多少个素数,并输出所有素数. 质数(prime number)又称素数,有无限个. 质数定义为在大于1的自然数中,除了1和它本身以外 ...
- python学习——练习题(11)
""" 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1 1 2 ...
- python学习——练习题(8)
""" 题目:输出 9*9 乘法口诀表. """ def answer1(): """ 自己用最普通的双重循环 ...
- python学习——练习题(7)
""" 题目:将一个列表的数据复制到另一个列表中. """ import copy def validate(a, b): "&q ...
随机推荐
- 利用pyecharts将数据可视化
可视化展示在数据分析领域中是一个至关重要的点,好的可视化展示对我们的结果分析有更好的支持作用. 一.问题 在数据分析的时代里面我们需要将数据的可视化展现出来,更加方便用户的观察.如下图 有些时候我们需 ...
- C#输入中文实现转拼音首字母(亲测,字库不全)
public string GetPYString(string str) { string tempStr = ""; foreach (char c in str) { if ...
- Oracle注入之带外通信
Oracle注入之带外通信和DNSLOG注入非常相似,例如和mysql中load_file()函数实现无回显注入非常相似. 下面介绍这个技术中常用的函数和使用. 环境这里准备两台测试,一台注入点的靶机 ...
- PowUp渗透脚本基本模块
PowUp脚本也位于PowerSploit下Privesc模块下 通常,在 Windows 下面我们可以通过内核漏洞来提升权限,但是,我们常常会碰到所处服务器通过内核漏洞提权是行不通的,这个时候,我们 ...
- 爬虫3:html页面+webdriver模块+demo
保密性好的网站,不能使用request请求页面信息,这样可以使用webdriver模块先开启一个浏览器,然后爬去信息,甚至还可以click等操作对页面操作,再爬取. demo 一般流程: 1)包含se ...
- spring源码系列7:Spring中的InstantiationAwareBeanPostProcessor和BeanPostProcessor的区别
概念 Bean创建过程中的"实例化"与"初始化"名词 实例化(Instantiation): 要生成对象, 对象还未生成. 初始化(Initialization ...
- Cocos2d-x 学习笔记(9) Action 运行原理
1. 从一个Action开始 1.1 创建 在Scene里写一个Sprite,并添加Action: Sprite *sp = Sprite::create("m1.png"); M ...
- spring security原理-学习笔记2-核心组件
核心组件 AuthenticationManager,ProviderManager和AuthenticationProvider AuthenticationManager只是一个接口,实际中是如何 ...
- C#事件浅淡(1)
最近在写C#,感觉事件这个机制很好,可是怎么实现自己定义的事件呢?查了资料有的不全有的不完整,有的太深,自己写一个简单的例子. 原则 1,定义一个事件信息类(标准的都继承EventArgs) 2.定义 ...
- transform-origin盒子旋转位置
transform-Origin属性允许您更改转换元素的位置. 2D转换元素可以改变元素的X和Y轴. 3D转换元素,还可以更改元素的Z轴. 为了更好地理解Transform-Origin属性,请查看这 ...