主要内容:
  for循环

  while循环

  格式化输出(2)

  数据统计及记录

#############################################################

1、for循环

(A):

# #one_guess_age
# num_age = 40
# for i in range(3):
# age_input = int(input("input age:"))
# if num_age == age_input:
# print ("OK")
# break
# elif age_input < num_age:
# print("smaller")
# else:
# print("bigger")
# else:
    #for循环正常执行则执行else中的内容
# exit("too many attempt")
# print("welcome two")

验证:
F:\Python\Python3\python.exe D:/python培训/our_python/day2/test.py
input age:0
smaller
input age:50
bigger
input age:40
OK
welcome two

(B)

# for i in range(3):
# if i < 2:
# continue
# # continue退出本次循环,继续下一次循环
# else:
# for j in range(10):
# if j<8:
# continue
# # continue退出本次循环,继续下一次循环
# else:
# print(i,j)

验证:
F:\Python\Python3\python.exe D:/python培训/our_python/day2/test.py
2 8
2 9

2、while循环

#while循环
count = 0
oldboy_age=56 while count < 3:
age_input = input("age>>:")
if age_input.isdigit():
age_input = int(age_input)
else:
count += 1
continue
if age_input == oldboy_age:
print("OK")
break
elif age_input > oldboy_age:
print("try small")
else:
print("try big")
count +=1
name = ["张三","李四","王五","赵六"]
name1 = name.copy()
name2 = name
print(name,id(name),"原值","\n",name1,id(name1),"copy值","\n",name2,id(name2),"赋值")

验证:

F:\Python\Python3\python.exe D:/python培训/our_python/day2/test.py
age>>:56
OK
['张三', '李四', '王五', '赵六'] 2561688 原值
['张三', '李四', '王五', '赵六'] 2525864 copy值
['张三', '李四', '王五', '赵六'] 2561688 赋值

3、格式化输出(2)

msg='hello word'
print(msg[4])
#首字母大写
print(msg.capitalize())
#输出占用20个位置,居中显示,*号占位,默认空格占位
print(msg.center(20,'*'))
#统计第4位到第10位l的个数
print(msg.count('l',4,10))
#检测字符串是否以某个字符结尾
print(msg.endswith('d')) msg1='a\tb'
#指定tab键占用的空格数
print(msg1.expandtabs('10'))
#检测字符串中某个字符的位置
print(msg1.find('d',1,10)) # format()
print('{} {}'.format('name','age','sd'))
print('{name}'.format(name='zs'))
print('{0} {1} {0}'.format('name','age'))
4、数据统计及记录
#统计列表
a = [
['Ipone', 5800],
['bike', 2000],
['Coffee', 30],
['Coffee', 30],
['Coffee', 30],
['Coffee', 30]
]
b = {}
for i in range(len(a)):
b[a[i][0]]=a.count(a[i])
print(b) #统计字典
Dict = {'Ipone': 1, 'bike': 1, 'Coffee': 4}
for k,v in Dict.items():
print(k,v) #输出系统当前时间
import time
print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) #将字典中的数据写入文件,更新时将上次数据直接覆盖
Dict = {'Coffee': 5, 'Ipone': 1, 'bike': 1}
with open('C:\\Users\\admin\\Desktop\\shopping_Dict.txt', 'w') as D:
D.writelines([
"%s:%d;" % item
for item in Dict.items()
])
print (Dict) #将文件中的数据读入字典
f = open('C:\\Users\\admin\\Desktop\\shopping_Dict.txt', 'r')
f.seek(0,0)
for line in f.readlines():
print("上次购买商品为[商品名:数量]:")
L=list(map(str, line.split(';')))
# print(L)
for i in range(len(L)):
print (L[i])
f.close() #不同人的结果输入到不同的文件
import time
name_input = input("please input Username:")
salary = input("money>>:")
date = time.strftime("%Y%m%d%H%M%S", time.localtime())
shopping_Dict = {'Coffee': 5, 'Ipone': 1, 'bike': 1} f1 = "C:\\\\Users\\\\admin\\\\Desktop\\\\shopping_Dict_%s.txt" % name_input
SD = open(f1,'w')
SD.writelines(["%s:%d;" % item for item in shopping_Dict.items()])
SD.close() f2 = "C:\\\\Users\\\\admin\\\\Desktop\\\\shopping_Dict_DATE_%s.txt" % name_input
DD = open(f2,'w')
DD.writelines("购买时间为:%s;" % date)
DD.close() #balance
f3 = "C:\\\\Users\\\\admin\\\\Desktop\\\\shopping_Dict_balance_%s.txt" % name_input
BD = open(f3,'w')
BD.writelines("卡上余额为:%s;" % salary)
BD.close()
###############################################################################################
#不同人登录、输出各自的购买信息;首次登录或者未购买物品则输出为“目前还没有购买过任何物品”
import os
# name_input = input("please input Username:")
f1 = "C:\\\\Users\\\\admin\\\\Desktop\\\\shopping_Dict_%s.txt" % name_input
if os.path.exists(f1):
S1 = open(f1, 'r')
S1.seek(0,0)
for line in S1.readlines():
print("上次购买商品[商品名:数量]:".center(50,'-'))
L=list(map(str, line.split(';')))
# print(L)
for i in range(len(L)):
print (L[i])
S1.close()
else:
print("目前还没有购买过任何物品") f2 = "C:\\\\Users\\\\admin\\\\Desktop\\\\shopping_Dict_DATE_%s.txt" % name_input
if os.path.exists(f2):
S2 = open(f2, 'r')
S2.seek(0,0)
for line in S2.readlines():
print("上次购买商品时间".center(50,'-'))
L=list(map(str, line.split(';')))
# print(L)
for i in range(len(L)):
print (L[i])
S2.close() f3 = "C:\\\\Users\\\\admin\\\\Desktop\\\\shopping_Dict_balance_%s.txt" % name_input
if os.path.exists(f3):
S3 = open(f3, 'r')
S3.seek(0,0)
for line in S3.readlines():
print("上次购买商品后卡上余额".center(50,'-'))
L=list(map(str, line.split(';')))
# print(L)
for i in range(len(L)):
print (L[i])
S3.close()

Python基础篇-day2的更多相关文章

  1. python基础篇-day1

    python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...

  2. python基础篇之进阶

    python基础篇之进阶 参考博客:http://www.cnblogs.com/wupeiqi/articles/5115190.html python种类 1. cpython  使用c解释器生产 ...

  3. python基础篇(六)

    PYTHON基础篇(六) 正则模块re A:正则表达式和re模块案例 B:re模块的内置方法 时间模块time A:时间模块的三种表示方式 B:时间模块的相互转换 随机数模块random A:随机数模 ...

  4. python基础篇(五)

    PYTHON基础篇(五) 算法初识 什么是算法 二分查找算法 ♣一:算法初识 A:什么是算法 根据人们长时间接触以来,发现计算机在计算某些一些简单的数据的时候会表现的比较笨拙,而这些数据的计算会消耗大 ...

  5. python基础篇(一)

    PYTHON基础篇(一) 变量 赋值 输入,输出和导入 A:输入 B:输出 C:导入 运算符 A:算数运算符 B:比较运算符 C:赋值运算符 D:位运算符 E:逻辑运算符 F:成员运算符 G:身份运算 ...

  6. python基础篇(二)

    PYTHON基础篇(二) if:else,缩进 A:if的基础格式和缩进 B:循环判断 C:range()函数和len()函数 D:break,contiue和pass语句 for,while循环 函 ...

  7. python基础篇(三)

    PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...

  8. python基础篇(四)

    PYTHON基础篇(四) 内置函数 A:基础数据相关(38) B:作用域相关(2) C:迭代器,生成器相关(3) D:反射相关(4) E:面向对象相关(9) F:其他(12) 匿名函数 A:匿名函数基 ...

  9. Python基础篇--输入与输出

    站长资讯平台:Python基础篇--输入与输出在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和输出输出输入END在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和 ...

随机推荐

  1. HashMap按键排序和按值排序

    对map集合进行排序   今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单 ...

  2. ucenter无法双向同步setting[allowsynlogin]为0问题解决

    深入探索ucenter各种通信失败问题飞狐ITWeb问题描述:A,B两个应用,A的登录操作等同步到B,而B无法同步到A,即只能从A单向同步到B,AB之间没有实现双向同步以前碰到过没记录,这次记录下来查 ...

  3. iOS项目导航栏返回按钮

    最近iOS项目中要求导航栏的返回按钮只保留那个箭头,去掉后边的文字,在网上查了一些资料,最简单且没有副作用的方法就是 [[UIBarButtonItem appearance] setBackButt ...

  4. 原 iOS深入学习(Block全面分析)http://my.oschina.net/leejan97/blog/268536

    原 iOS深入学习(Block全面分析) 发表于1年前(2014-05-24 16:45)   阅读(26949) | 评论(14) 39人收藏此文章, 我要收藏 赞21 12月12日北京OSC源创会 ...

  5. jqgrid参数

    jqGrid参数 名称 类型 描述 默认值 可修改 url string 获取数据的地址 datatype string 从服务器端返回的数据类型,默认xml.可选类型:xml,local,json, ...

  6. Android Studio 中提示 Private field 'mType' is assigned but never accessed 的原因

    Android Studio 是个很酷的编译器,之前发现有个代码提示很奇怪,但无奈一直没看懂他的意思,不过也没报错就没太在意,刚刚突然领悟了,原来是自己代码不规范. Private field 'mT ...

  7. hitTest和pointInside和CGRectContainsPoint

    很多app中TabBar中间会有个凸起超出部分,为了点击超出父视图但是还想让按钮响应 //重写hitTest方法,去监听发布按钮的点击,目的是为了让凸出的部分点击也有反应- (UIView *)hit ...

  8. input编辑框编辑状态切换

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. webpack-hot-middleware 用于 livereload

    https://github.com/glenjamin/webpack-hot-middleware Webpack hot reloading using only webpack-dev-mid ...

  10. 2DToolkit官方文档中文版打地鼠教程

    初始设置 创建一个Unity项目,并导入2D Toolkit插件. 导入完成后,在Project窗口会显示TK2DROOT文件夹(后续版本文件夹名称或许会有变动). 导入素材游戏,你可以从这里下载.下 ...