python基礎學習第二天
字符编码 # 需知:
#
# 1.在python2默认编码是ASCII, python3里默认是unicode
#
# 2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-8,因为utf8省空间
#
# 3.在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string #-*-coding:gb2312 -*- #这个也可以去掉
__author__ = 'Alex Li' import sys
print(sys.getdefaultencoding()) msg = "i am 我爱北京天安门"
#msg_gb2312 = msg.decode("utf-8").encode("gb2312")
msg_gb2312 = msg.encode("gb2312") #默认就是unicode,不用再decode,喜大普奔
gb2312_to_unicode = msg_gb2312.decode("gb2312")
gb2312_to_utf8 = msg_gb2312.decode("gb2312").encode("utf-8") print(msg)
print(msg_gb2312)
print(gb2312_to_unicode)
print(gb2312_to_utf8)
字符格式化 ctrl+D複製一行、
ctrl+?注釋 佔位符
%d:d==digital數字
%s:s==string字符
%f:f==float小數 exit():退出程序,也可以如exit("you are wrong") 數據運算
整型integrate
長整型long
python3不區分整型和長整型了,統稱整型
浮點型float 布爾值:真或假,True False 字符串:"hello world!",'222'
字符串拼接不建議使用“,+”符號,慢而且,佔用內存使用%s來拼接
如下:
name="hua"
print("姓名是:%s" %name)
*******************************************
range(3):代表3次【0,1,2】,以此類推range(4)4次【0,1,2,3】 range(1,101):1代表從1開始,101代表到100
例:for i in range(1,101,2):
if i %2==1:
print(i)
輸出結果是1~101之間的奇數
range(1,101,2):2代表步長
例:for i in range(1,101,2):
print(i)
輸出結果是1~101之間的奇數 不輸出結果是50~70之間數
例:for i in range(1,101):
if i<50 or i>70
print(i) #輸入用戶名和密碼判斷是否正確,錯誤可以輸入3次
_user = "hua"
_password = "123" for i in range(3):
userName = input("Name:")
passWord = input("password:")
if userName == _user and passWord == _password:
print(" welcome %s login....." % userName)
break #跳出中斷,break for之後就不會執行後面的else語句
else:
print("password and userName is invalid...")
else: #只要上面的for語句正常執行完畢,中間沒有被打斷就會執行else語句
print("you login 3 ,please don't login...") _user = "hua"
_password = "123"
counter = 0
while counter < 3:
userName = input("Name:")
passWord = input("password:")
if userName == _user and passWord == _password:
print(" welcome %s login....." % userName)
break #跳出中斷,break for之後就不會執行後面的else語句
else:
print("password and userName is invalid...")
counter += 1
else: #只要上面的for語句正常執行完畢,中間沒有被打斷就會執行else語句
print("you login 3 ,please don't login...") ***********************************************************
break:跳出當前循環
continue:跳出本次循環,繼續執行下一次循環, keep_going = False for i in range(10):
if i < 5:
continue
print(i)
for j in range(10):
print(j)
if j == 6:
keep_going = True
break #因為內循環退出了
if keep_going:
break #所以我也退出了
*************************************************
列表 元組
#增刪改查
#查 切片
a=[]代表列表格式:a=['xiaohu','jinxing','ligang','sanpang','wuchao']
a[1:3]:代表從索引1開始到索引3前面的一個值,如結果是jinxing ligang
print(a[1:]):代表打印從索引1到最後的所有的值
print(a[1:-1]):代表从索引1到倒數第2個值全部取出來
print(a[1:-1:1]):從索引1開始到倒數第2個左到右一個一個去取
print(a[1::2]):從索引1開始左到右隔一個去取
print(a[1:-1:1]):從索引1開始左到右隔一個去取
print(a[3::-2]):從索引3開始右到左隔一個去取 #增加
#append:在最後增加 a.append('內容')
#insert:插入到某一個位置 a.insert(索引位置,'插入的內容'):a.insert(2,'你好') #修改:直接把位置的內容替換掉
a[1]='hai':把索引位置1的內容修改為hai
a[1:3]=['hai','hhh']:把索引1和2的內容替換掉 #刪除 remove pop del
a.remove('刪除的內容')或者a.remove(a[0])
a.pop(1):1代表索引位置 ,
b=a.pop(1):把1代表索引位置的內容刪除賦給b
a.pop()默認刪除最後一個字符串
del a[0] :刪除a列索引0的內容
del a:刪除整個a的列表,從內存中刪掉
a.clear()清空全部內容 #列表中字符串出現的次數 :count
方法:a=['to','be','or','not','to','be'].count('to')
print(t) #extend 方法添加整體添加到後面
a=[1,2,3]
b=[4,5,6]
a.extend(b) 執行之後a是有變化的
print(a):---[1,2,3,4,5,6]
print(b)---[4,5,6]
a+b:[1,2,3,4,5,6] 執行之後a和b的內容都沒有變化 #index:當不知道索引值的時候使用根據內容找位置
a=['xiaohu','jinxing','ligang','sanpang','wuchao']
print(a.index('jinxing')) #reverse把列表字符串倒敘排列
a.reverse() #sort,無序列表按照順序排列
x=[4,6,2,1,7,9]
x.sort() / x.sort(reverse=True)
print(x)----x=[1,2,4,6,7,9] b=sorted(x)
print(x) 身份判斷
type(a) is list 元組:tuple不可以修改只能讀 tup1()空元組
tup2(12,)記得只有一個元素的時候要加逗號 列表嵌套
a=[[1,2,3],4,'alex',(2,3,4)]
a[0] =[1,2,3]
b[1]
相當於:print(a[0][1]) for i in enumerate(product_list):默認從0開始
(0, ['Mac', 9000])
(1, ['kindle', 800])
(2, ['tesla', 900000])
(3, ['book', 105])
(4, ['bike', 2000]) for i in enumerate(product_list,1):默認從1開始
(1, ['kindle', 800])
(2, ['tesla', 900000])
(3, ['book', 105])
(4, ['bike', 2000]) a,b=[2,3]相當於a=2,b=3
print(a)-->輸出2
print(b)-->輸出3 for i, v in enumerate(product_list, 1):
print(i, v)
輸出如下:
1 ['Mac', 9000]
2 ['kindle', 800]
3 ['tesla', 900000]
4 ['book', 105]
5 ['bike', 2000] ************************************************************
'''
購物車程序
實現輸入工資
購物列表:
1.Mac 9000
2.kindle 800
3.testla 900000
4.book 105
5.bike 2000 購買物品,可以持續購買
最後來個購買列表
顯示餘額
'''
salary = input('please input your salary:')
shopping_car =[]
product_list = [
['Mac', 9000],
['kindle', 800],
['tesla', 900000],
['book', 105],
['bike',2000]
] if salary.isdigit(): #判斷輸入的是否是數字
salary = int(salary)
# for i in product_list:
# print(product_list.index(i), i)
while True:
for i, v in enumerate(product_list, 1):
print(i, '.', v)
choice = input('請選擇商品編號[退出:q]:')
if choice.isdigit():
choice=int(choice)
if choice > 0 and choice <= len(product_list):
p_item = product_list[choice-1] if p_item[1] < salary:
salary -= p_item[1]
shopping_car.append(p_item)
else:
print('餘額不足','還剩%s'%salary)
print(p_item)
else:
print('編碼不存在')
elif choice == 'q':
print('---------您購買的商品如下------------') for i in shopping_car:
print(i)
print('還剩%s元' %salary)
break
else:
print('選擇無效')
python基礎學習第二天的更多相关文章
- python基礎學習第一天
python歷史 Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python 由 Guido van Rossum 于 1989 年底在荷兰国家数学和计算机科学研究所设计出来 ...
- Python 基礎 - for流程判斷
今天介紹另一個循環判斷式 for循環,首先,先寫一個很簡單的 for循環的代碼 #!/usr/bin/env python3 # -*- coding:utf-8 -*- for i in range ...
- Python 基礎 - if else流程判斷
hmm~前面講了那麼多,終於可以稍稍的正式進入另一個階段,沒錯,要開始寫判斷式了 這次先從最簡單的判斷式開始,if else 開始- Go 首先,之前有寫有一個簡單的互動式 用戶輸入 的代碼,忘記了嗎 ...
- Python 基礎 - 文件操作_v2
嗯,那如何要把游標的位置給打印來? #!/usr/bin/env python3 # -*- coding:utf-8 -*- f = open('test', 'r') print(f.tell() ...
- Python 基礎 - 字符編碼
Python 解釋器在加載 .py 文件中的代碼時,會對內容進行編碼 (默認 ascill) ASCII (American Standard Code for Information Interch ...
- Python 基礎 - 數據類型
標準數據類型 Python3 中有六個標準的數據類型 1 Number(數字) 2 String(字符串) 3 List (列表) 4 Tuple (元組) 5 Sets (集合) 6 Diction ...
- Python 基礎 - pyc 是什麼
Python2.7 版中,只要執行 .py 的檔案後,即會馬上產生一個 .pyc 的檔案,而在 Python3 版中,執行 .py 的檔案後,即會產生一個叫 __pycache__ 的目錄,裡面也會有 ...
- Python 基礎 - 字符轉編碼操作
回顧字符編碼的前世今生 ASCII 只能儲英文或特殊字符,只占一個字節,一個字節8bit,不能儲中文,所以才出現Unicode Unicode 不管是中文或英文,都是占二個字節,一個字節8bit UT ...
- Python 基礎 - 文件的操作
在來我們來玩一下文件操作,這個在未來工作上,也是會很常用到的功能 Python2.7中,可以用file()來打開文件,而在Python3中,一律都是用open(),接下來在當前目錄下,先建立一個空文件 ...
随机推荐
- Navicat premium 12 for mac 无限试用
Mac 终端输入 sudo rm -Rf ~/Library/Application\ Support/PremiumSoft\ CyberTech 重启电脑 成功
- ArrayAccess 接口(源码)
The ArrayAccess interface (PHP 5 >= 5.0.0, PHP 7) Introduction Interface to provide accessing obj ...
- window nginx 中文路径, 文件名乱码问题解决
window nginx 中文路径, 文件名乱码, error, not found 此问题是由于windows系统编码与nginx编码设置不一致导致的,因此我们要统一二者的编码 nginx编码设置 ...
- linux man指令的详解
原创内容,欢迎指正 一.基本操作 大多数linux发行版自带用以查找shell命令及其他GNU工具信息的在线手册,man命令就是用来访问存储在linux系统上的手册页面. 例如,查看ls命令手册,语法 ...
- 事务管理(ACID)
目录 一.事务管理(ACID) 原子性(Atomicity) 一致性(Consistency) 持久性(Durability) 隔离性(Isolation) 二.事务隔离级别 脏读 不可复读 虚读(幻 ...
- SVN: 聚合工程下的子工程无法使用 svn:ignore
当想将聚合工程manager下子工程没用的一些文件使用svn:ignore,发现该功能不能使用 这是因为SVN 服务器上还没有这些子工程的文件夹,只有聚合工程的文件夹,所以SVN认为在服务器上这些代码 ...
- Jpofiler
参考链接: https://blog.csdn.net/u010638673/article/details/81703942
- ThreadLocalRandom ---- 提升Random在大并发下的效率
本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 随机数 随机数在科学研究与工程实际中有着极其重要的应用! ...
- The Top 500 Worst Passwords (2008)
Top 100 123456 password 12345678 1234 pussy 12345 dragon qwerty 696969 mustang letmein baseball mast ...
- Webpack 一,打包JS
创建入口文件 app.js // es6 module 规范 import sum_d from './sum.js' import {sum_e} from './sum.js' // commco ...