09_Python语法示例(数据类型)
1.买苹果,计算金额并保留两位小数
price = int(input("苹果的单价: "))
weight = float(input("苹果的重量: "))
money = price * weight
print("买了%d斤苹果, 每斤%.2f元, 需要付%.2f元" % (weight, price, money))
2.人机猜拳小游戏设计
import random def finger_guessing():
while True:
player = input("请输入您要出的拳 石头(1) 剪刀(2) 布(3):")
computer = random.choice("")
print("玩家出拳是: %s VS 电脑出的拳是: %s" % (player, computer))
# 比较胜负(玩家 VS 电脑) 1 石头胜剪刀 2 剪刀胜布 3 布胜剪刀
# 满足其中一项胜利规则,玩家胜利
if ((player == '' and computer == '')
or (player == '' and computer == '')
or (player == '' and computer == '')):
print("玩家player胜利")
else:
if player == computer:
print("双方平局!")
# 玩家出拳和电脑不一样,电脑胜利
else:
print("电脑computer胜利") finger_guessing()
3.一行代码实现一个简易人工智能对话问答
while True: print(input("问:").strip("吗??") + "!")
4.写一个程序,对输入的内容做加法识别并计算
content = input("请输入加法运算式: ")
a_list = content.partition("+")
a_int = int(a_list[0]) + int(a_list[2])
print("%s + %s = %s" % (a_list[0], a_list[2], a_int))
5.写一个程序,对输入的字符串统计字母和数字出现的次数
xs_int = 0
zm_int = 0
zf_str = input(">>>")
for i_int in zf_str:
if i_int.isalpha()==True:
zm_int += 1
elif i_int.isdecimal()==True:
xs_int += 1
print(zm_int, xs_int)
6.随机生成验证码
def check_code(num=4):
"""随机生成验证码"""
import random
checkcode = ""
for i in range(num):
current = random.randrange(0, num)
if current != i:
temp = chr(random.randint(65, 90))
else:
temp = random.randint(0, 9)
checkcode += str(temp)
return checkcode cdoe = check_code(6)
print(cdoe)
7.循环输入字符串,q退出输入,格式化表格形式输出添加的元素
'''
fgadfgdas dsfcvar dasfsa
dasfdsaew dfsd hggfhty
fgd gfdgvb hhbdfsfafadfafd
dfd cdsafewaf da
dafw dsfaf dadfq
'''
s1 = ""
while True:
v1 = input("v1>>>")
v2 = input("v2>>>")
v3 = input("v3>>>")
if v1=="q" or v2=="q" or v3=="q":
break
v4 = "{0}\t{1}\t{2}\n".format(v1, v2, v3)
s1 = s1 + v4
print(s1.expandtabs(20)) # 指定以几个字符以断句,遇到制表符用空格补全几个字符
8.输入一个字符串,判断输入的字符串是否是整数或小数
s = input(">>>")
s1 = s.replace("-", "") # 替换掉负号
if s1.isdigit():
print("字符串%s是整数" % s)
else:
if s1.count(".")==1 and not s1.startswith(".") and not s1.endswith("."):
print("字符串%s是小数" % s)
else:
print("字符串%s是不是小数" % s)
9.校验⽤用户输⼊入的验证码是否合法,并忽略首尾空格
verify_code = "Coco"
user_verify_code = input("请输入验证码: ")
if verify_code.upper() == user_verify_code.upper().strip():
print("验证成功")
else:
print("验证失败")
10.公鸡5文钱一只,母鸡3文钱一只,小鸡3只1文钱,用100文钱买100只鸡,必须要有公鸡母鸡小鸡,公鸡母鸡小鸡各多少只
s1_int = range(1, 21) # 100文钱可以买20只公鸡
s2_int = range(1, 34) # 100文钱可以买33只母鸡
s3_int = range(1, 301) # 100文钱可以买300只小鸡
for i in s1_int:
for j in s2_int:
for v in s3_int:
if i + j + v == 100 and 5 * i + 3 * j + v / 3 == 100:
print("公鸡%s只,母鸡%s只,小鸡%s只" % (i, j, v))
11.从列表中找到人名coco
li = ["Tom ", "ale xC", "AbC ", "\rCoco\r\n", " ri TiAn", "Coc", " aqc", "coco\t"]
lst = []
for el in li:
el = el.replace(" ", "").strip()
if (el.startswith("C") or el.startswith("c")) and el.endswith("o"):
lst.append(el)
print(lst)
12.打码评论中的敏感词汇
lst = []
li = ["苍老师", "东京热", "武藤兰", "波多野结衣"]
content = input("请输入你的评论: ")
for el in li:
if el in content:
content = content.replace(el, "*" * len(el))
lst.append(content)
print(lst)
13.遍历嵌套列表
li = [1, 3, 4, "coco", [3, 7, 8, "Angles"], 5, "Cat"]
for e in li:
if type(e) == list: # 判断e的数据类型
for ee in e:
if type(ee) == str:
print(ee.lower())
else:
print(ee)
else:
if type(e) == str:
print(e.lower())
else:
print(e)
14.把学生成绩录入到一个列表中,并求平均值,示例: 张三_44
lst = []
while 1:
stu = input("请输入学生的姓名和成绩(姓名_成绩), 输入Q退出录入: ")
if stu.upper() == "Q":
break
lst.append(stu)
sum = 0
for el in lst:
li = el.split("_")
sum += int(li[1])
print(sum / len(lst))
15.有如下值li= [11,22,33,44,55,66,77,88,99,90],完善字典{'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}
li= [11,22,33,44,55,66,77,88,99,90]
# 方法一
dic = {}
for el in li:
if el > 66:
dic.setdefault("k1", []).append(el) # 1.新增, 2.查询
else:
dic.setdefault("k2", []).append(el) # 1.新增, 2.查询
print(dic)
# 方法二
result = {}
for row in li:
if row < 66:
l = result.get("k1") # 上来就拿k1
if l == None: # k1不存在. 没有这个列表
result["k1"] = [row] # 创建一个列表扔进去
else: # k1如果存在
result['k1'].append(row) # 追加内容
else:
l = result.get("k2") # 上来就拿k2
if l == None: # k1不存在. 没有这个列表
result["k2"] = [row] # 创建一个列表扔进去
else: # k1如果存在
result['k2'].append(row) # 追加内容
print(result) # {'k1': [11, 22, 33, 44, 55], 'k2': [77, 88, 99, 90]}
16.购物,列表套字典实现
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "手机", "price": 998}
]
for i in range(len(goods)):
good = goods[i]
print(i+1, good['name'], good['price'])
while 1:
content = input("请输入你要买的商品: ")
if content.upper() == "Q":
break
index = int(content) - 1 # 索引
if index > len(goods) - 1 or index < 0: # 调试
print("输入有误. 请重新输入: ")
continue
print(goods[index]['name'], goods[index]['price'])
17.用户输入页码翻页输出列表
li_list = []
for i in range(1, 301):
item = {"k" + str(i):"value" + str(i)}
li_list.append(item)
# print(li_list)
while True:
s1 = input("请输入页码1-30: ")
if s1.isdigit():
s1 = int(s1)
for i in li_list[(s1 - 1) * 10:s1 * 10]: # 切片遍历
print(i)
else:
print("不能输入1-30的其他内容")
18.实现一个整数加法计算器,如用户输入: 5+8+7最少输入两个数相加,将最后的计算结果添加到此字典中替换None
dic={'最终计算结果': None}
content = input('请输入内容: ').strip() # 5+8+7
lst = content.split("+")
sum = 0
for el in lst:
sum = sum + int(el.strip())
dic['最终计算结果'] = sum
print(dic)
19.字典的嵌套运用
'''数据结构示意
db_dict = {'广东省': {'广州市': {'天河区': {}}, '佛山市': {}}, '四川省': {}}
db_dict = {
'广东省': {
'广州市': {'天河区': {}},
'佛山市': {}
},
'四川省': {}
}
'''
db_dict = {}
path_list = []
while True:
temp_dict = db_dict
for item in path_list:
temp_dict = temp_dict[item]
print("当节点的所有子节点: ", list(temp_dict.keys())) choice = input("1:添加节点;2:查看节点(q退出/b返回上一级)\n>>>")
if choice == "":
name = input("请输入要添加节点名称: ")
if name in temp_dict:
print("节点已存在")
else:
temp_dict[name] = {}
elif choice == "":
name = input("请输入要查看节点名称: ")
if name in temp_dict:
path_list.append(name)
else:
print("你输入的节点名称不正确")
elif choice.lower() == "b":
if path_list:
print(path_list)
path_list.pop()
elif choice.lower() == "q":
break
else:
print("你输入的不正确")
20.数据处理列表字典集合运用
user_list=[
{"name": "coco", "hobby": "动漫"},
{"name": "coco", "hobby": "音乐"},
{"name": "coco", "hobby": "学习"},
{"name": "angels", "hobby": "看书"},
{"name": "angels", "hobby": "游戏"},
] def hobby(name):
hobby_set = set()
for i_dic in user_list:
if i_dic["name"] == name:
hobby_set.add(i_dic["hobby"])
return hobby_set def main(user_list):
name_set = set()
user_dic = dict()
for i in user_list:
name_set.add(i["name"])
print(name_set) # {'coco', 'angels'}
for name in name_set:
user_dic[name] = hobby(name)
print(user_dic) # {'coco': {'音乐', '学习', '动漫'}, 'angels': {'游戏', '看书'}} main(user_list)
09_Python语法示例(数据类型)的更多相关文章
- Oracle中PL/SQL简介、基本语法以及数据类型
Oracle中PL/SQL简介.基本语法以及数据类型 一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控 ...
- Java语法 示例
第二章: int:整型 double:双精度浮点型 char:字符型 String:字符串型语法:数据类型 变量名: 如:String name: 变量名=值: 如:name="张三&quo ...
- java8-lambda常用语法示例
常用语法示例: public static void main(String[] args) { List<OrderInfo> orderInfoList = Lists.newArra ...
- Linux常用命令语法+示例
原文出自:https://blog.csdn.net/seesun2012 Linux常用命令:Linux查看日志命令总结:Tomcat相关:Linux配置网卡,连接外网:Linux下安装JDK:Li ...
- Python基础系列----语法、数据类型、变量、编码
1.基本语法 Python ...
- 02JavaScript基础语法及数据类型
JavaScript基础语法及数据类型 2.1数据类型 2.1.1字符串(String) 用单引号或双引号括起来的零个或多个单一的字符所组成. 2.1.2数值(Number) 包含整数或浮点数. 2. ...
- 二.Python基础语法和数据类型
Python第二节 基础语法和数据类型 Python编码 python3默认情况下源码文件以UTF-8编码, 字符串均为unicode字符串.同时也可以通过# -*- coding: cp-1252 ...
- Python基础语法和数据类型最全总结
摘要:总结了Python最全基础语法和数据类型总结,一文带你学会Python. 本文分享自华为云社区<Python最全基础语法和数据类型总结>,原文作者:北山啦 . 人生苦短,我用Pyth ...
- SQL记录-PLSQL基本语法与数据类型
PL/SQL基本语法 PL/SQL是一种块结构的语言,这意味着PL/SQL程序被划分和编写代码的逻辑块.每块由三个子部分组成: S.N. 段和说明 1 声明 此部分开头使用关键字DECLARE.它是一 ...
随机推荐
- “随手记”开发记录day18
我们对我们的APP进行“粉刷”,更加凸显它的亮点.进行最后的界面美化,使其符合大众的审美.
- 解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)...
在IDEA中将xxxMapper.xml文件创建在(src/main/java)目录中,运行报错:org.apache.ibatis.binding.BindingException: Invalid ...
- 【Mysql】SpringBoot_2.1.0+Druid_1.1.10 配置数据源监控服务Yml格式
访问地址:localhost:8080/druid 按照这个方法和版本配置没问题 版本或高或低可能会出现不兼容 1.添加依赖 <dependency> <groupId>com ...
- Win10系统Jmeter+maven+Jenkins接口自动化环境搭建(一)
Jmeter+maven+Jenkins实现接口自动化,需要使用idea或eclipse配置maven项目,这里我使用的是idea.具体步骤如下: 1.安装jmeter+jdk jmeter安装之前需 ...
- leetcode刷题笔记-1. 两数之和(java实现)
题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元素不能使 ...
- C#LeetCode刷题之#867-转置矩阵(Transpose Matrix)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3756 访问. 给定一个矩阵 A, 返回 A 的转置矩阵. 矩阵的 ...
- 他们都说JVM能实际使用的内存比-Xmx指定的少?这是为什么呢
这确实是个挺奇怪的问题,特别是当最常出现的几种解释理由都被排除后,看来JVM并没有耍一些明显的小花招: -Xmx和-Xms是相等的,因此检测结果并不会因为堆内存增加而在运行时有所变化. 通过关闭自适应 ...
- 图论算法(二)最短路算法:Floyd算法!
最短路算法(一) 最短路算法有三种形态:Floyd算法,Shortset Path Fast Algorithm(SPFA)算法,Dijkstra算法. 我个人打算分三次把这三个算法介绍完. (毕竟写 ...
- 【源码】RocketMQ如何实现获取指定消息
概要 消息查询是什么? 消息查询就是根据用户提供的msgId从MQ中取出该消息 RocketMQ如果有多个节点如何查询? 问题:RocketMQ分布式结构中,数据分散在各个节点,即便是同一Topic的 ...
- 简单快速导出word文档
最近,我写公司项目word导出功能,应该只有2小时的工作量,却被硬生生的拉长2天,项目上线到业务正常运行也被拉长到2个星期. 为什么如此浪费时间呢? 1)公司的项目比较老,采用硬编码模式,意味着wor ...