一、数据运算

算术运算

比较运算

赋值运算

逻辑运算

成员运算

身份运算

位运算

其中左右移运算是逻辑左右移即缺失位补0,而算数右移缺失补符号位(注意逻辑运算都是补码运算即都取补码再运算,然后结果也是补码,按照补码的规则反向可以找到原码)

正数的原码、反码、补码都一样

负数的反码是符号位不变取反,补码是原码的反码+1

运算符优先级

二、 if...else

基本格式: if 判断语句:

      操作

     else:

      操作

三、循环

 for i in range: 循环range内的元素

while 判断:

练习一、

优化购物车

1. 用户退出时打印商品列表时,按以下格式
-------您购买的商品如下------
id 商品 数量 单价 总价
1 iPhone 2 5800 11400
2 coffee 1 30 30
。。。

总计价格: 11430元
--------end -------------

good =['phone','shoes','clothes','headset','apple','computer',]
price=[5000,200,150,2000,2,8000]
money = input("please your wages")
if money == 'out':
print("You didn't buy anthing and thank for your shopping")
exit()
else:
i=0
while i<len(good):
print(i,good[i],price[i])
i+=1
num = 0
sc=[]
money=int(money)
key = 0
buy_money=0
while True: if key == 1:
l=0
print('您购买的商品如下')
print('商品','数量','单价','总价')
while l < 6:
buy_numl = sc.count(good[l])
if buy_numl ==0:
l+=1
continue
else:
print(good[l],'',buy_numl,' ',price[l],' ',price[l]*buy_numl)
buy_money=buy_money+price[l]*buy_numl
l+=1
print("总计价格:",buy_money)
print("剩余金钱:",money)
exit()
# j=0
# while j < len(sc):
# print(sc[j])
# j += 1
# print('you have ',money,'left')
# exit()
else:
buy = input("please choose your goods") if buy=="out":
key = 1
continue
elif buy.isdigit():
buy = int(buy)
if buy<6 and buy >= 0:
if money>=price[buy]:
sc.insert(num,good[buy])
money=money-price[buy]
num =num + 1
print(money)
else:
print("you don't have enough money")
print(money)
continue
else:
print("no this goods number")
continue
else :
if buy in good:
if money < price[good.index(buy)]:
print("you don't enough money")
print(money)
continue
else:
money=money-price[good.index(buy)]
sc.insert(num, buy)
num =num+ 1
print(money)
else:
print("not this good")
continue

练习二、

打印省、市、县三级菜单
可随时返回上一级
可随时退出程序

menu = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'老男孩':{},
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车战':{
'携程':{}
}
},
'浦东':{},
},
'山东':{},
}
while True:
for key in menu:
print(key)
chioce_city=input('请输入城')
if chioce_city in menu:
if menu[chioce_city]:
while True:
for key in menu[chioce_city]:
print(key)
chioce_region=input("请输入区")
if chioce_region in menu[chioce_city]:
if menu[chioce_city][chioce_region]:
while True:
for key in menu[chioce_city][chioce_region]:
print(key)
chioce_town=input('请输入镇')
if chioce_town in menu[chioce_city][chioce_region]:
if menu[chioce_city][chioce_region][chioce_town]:
while True:
for key in menu[chioce_city][chioce_region][chioce_town]:
print(key)
chioce_company=input("请输入公司")
if chioce_company in menu[chioce_city][chioce_region][chioce_town]:
print(chioce_company,"真牛逼")
elif chioce_company == 'b':
break
elif chioce_company == 'q':
exit()
else:
print('傻Ⅹ,输错了吧')
continue
else:
print("它太小了,不能进去了")
elif chioce_town == 'b':
break
elif chioce_town == 'q':
exit()
else:
print('傻Ⅹ,输错了吧')
continue
else:
print("它太小了,不能进去了")
elif chioce_region == 'b':
break
elif chioce_region == 'q':
exit()
else:
print('傻Ⅹ,输错了吧')
continue
else:
print("它太小了,不能进去了")
elif chioce_city=='b' or chioce_city=='q':
exit()
else:
print('傻Ⅹ,输错了吧')
continue

继续死磕python的更多相关文章

  1. 三个月死磕Python是种什么样的体验?

    3个月的死磕Python后,参加「 楼+ Python实战 · 第4期 」的学员们感想如何?下面带来他们的真实评价. 作为实验楼的网红课程——「 楼+ Python实战 」已经走过了第四期,经过了三个 ...

  2. 死磕 java线程系列之线程模型

    问题 (1)线程类型有哪些? (2)线程模型有哪些? (3)各语言使用的是哪种线程模型? 简介 在Java中,我们平时所说的并发编程.多线程.共享资源等概念都是与线程相关的,这里所说的线程实际上应该叫 ...

  3. 死磕以太坊源码分析之EVM动态数据类型

    死磕以太坊源码分析之EVM动态数据类型 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家交流学习. So ...

  4. 死磕以太坊源码分析之EVM如何调用ABI编码的外部方法

    死磕以太坊源码分析之EVM如何调用ABI编码的外部方法 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家 ...

  5. mysql每秒最多能插入多少条数据 ? 死磕性能压测

    前段时间搞优化,最后瓶颈发现都在数据库单点上. 问DBA,给我的写入答案是在1W(机械硬盘)左右. 联想起前几天infoQ上一篇文章说他们最好的硬件写入速度在2W后也无法提高(SSD硬盘) 但这东西感 ...

  6. 【死磕Java并发】-----Java内存模型之happend-before

    在上篇博客([死磕Java并发]-–深入分析volatile的实现原理)LZ提到过由于存在线程本地内存和主内存的原因,再加上重排序,会导致多线程环境下存在可见性的问题.那么我们正确使用同步.锁的情况下 ...

  7. 死磕 java集合之DelayQueue源码分析

    问题 (1)DelayQueue是阻塞队列吗? (2)DelayQueue的实现方式? (3)DelayQueue主要用于什么场景? 简介 DelayQueue是java并发包下的延时阻塞队列,常用于 ...

  8. 死磕 java集合之PriorityBlockingQueue源码分析

    问题 (1)PriorityBlockingQueue的实现方式? (2)PriorityBlockingQueue是否需要扩容? (3)PriorityBlockingQueue是怎么控制并发安全的 ...

  9. 死磕 java集合之PriorityQueue源码分析

    问题 (1)什么是优先级队列? (2)怎么实现一个优先级队列? (3)PriorityQueue是线程安全的吗? (4)PriorityQueue就有序的吗? 简介 优先级队列,是0个或多个元素的集合 ...

随机推荐

  1. 修改apache2配置,禁止目录访问+禁止访问.git文件夹

    通过url访问服务器,无论是本地服务器还是远程服务器 如果你的文件根目录里有 index.html,index.php,浏览器就会显示 index.html的内容,如果没有 index.html,浏览 ...

  2. [CSP-S模拟测试]:数对(线段树优化DP)

    题目传送门(内部题96) 输入格式 第一行一个整数$n$,接下来$n$行每行三个整数$a_i,b_i,w_i$. 输出格式 一行一个整数表示最大权值和. 样例 样例输入: 54 4 12 3 31 5 ...

  3. 为Sublime Text 3设置优雅的字体

    本文使用的Sublime Text 3版本是3.2.1(build 3207),这个版本默认对中文的支持很糟糕,中国程序员很费眼睛,需要做一番设置. 首选需要在本机安装漂亮的字体,我们选用的是YaHe ...

  4. Mybatis 自动生成mapper文件

    在pom.xml下的<build>内加入: <build> <plugins> <plugin> <groupId>org.mybatis. ...

  5. 48 条高效率的 PHP 优化写法

    来源:歪麦博客 https://www.awaimai.com/1050.html 1 字符串 1.1 少用正则表达式 能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式, 因为其效率 ...

  6. metrics+spring+influxdb

    https://www.cnblogs.com/lixyu/p/9337055.html

  7. leetcode-mid-sorting and searching - 56 Merge Intervals

    mycode 出现的问题:比如最后一个元素是[1,10],1小于前面所有元素的最小值,10大于前面所有元素的最大值,而我最开始的思路只考虑了相邻 参考: 思路:如果我只考虑相邻,必须先将list排序, ...

  8. 将ubuntu系统录到u盘上

    可以使用bootice工具对u盘分区,并隐藏,然后把系统录到隐藏分区,ubuntu只需要1.5G即可.bootice很强大 录制工具可选的有Universal USB Install.UltraISO ...

  9. lua源码学习篇一:环境部署

    研究生即将毕业,答辩完成后,这几天有些时间.开始写一些自己的东西,记录自己的学习历程. --前言 本着学习和交流的原则,本文的内容仅供参考,而不是权威版本,如有任何问题,欢迎指出. --声明 跨专业考 ...

  10. 简要介绍一下MD5加密的书写

    大家应该多清楚数据的重要性,可以假设一下:一个非常大的企业,因为一个程序员的疏忽大意,没有使用MD5加密,那么可以说这个企业的数据库是非常不安全的,可以轻而易举的的访问你的数据库,并执行任何操作. 下 ...