浅谈自学Python之路(day1)
2018-02-19 17:15:14
Python语言相对于其他语言较为简洁,也相对好入门比如后面不加分号,基本见不着大括号等优点
- 第一个程序,也是学每门语言都需要掌握的第一个代码
print("Hello World")
- print 语句用法
- print 'a', 'b' #print可以接受多个参数,参数的输出之间以空格相隔。
- print 'a', #如果逗号之后没有参数,则不会换行。
- print 'b'
- 接下来是输入用户名密码
- import getpass
- _username = 'lym'
- _password = 'abc123'
- username = input("username:")
- #password = getpass.getpass("password:")
- password = input("password:")
- if _username == username and _password == password:
- print("Welcome user {name} login...".format(name=username))
- else:
- print("Invalid username or password!")
- 进行格式化拼接
- name = input("name:")
- #age = input("age:")
- age = int(input("age:"))
- print(type(age), type( str(age) ))
- job = input("job:")
- salary = input("salary:")
- #用这种比较好
- info = '''
- --------------info of %s
- Name:%s
- Age:%d
- Job:%s
- Salary:%s
- '''%(name,name,age,job,salary)
- info2 = '''
- --------------info of {_name}
- Name:{_name}
- Age:{_age}
- Job:{_job}
- Salary:{_salary}
- '''.format(
- _name = name,
- _age = age,
- _job = job,
- _salary = salary
- )
- info3 = '''
- --------------info of {0}
- Name:{0}
- Age:{1}
- Job:{2}
- Salary:{3}
- '''.format(name,age,job,salary)
- print(info3)
由以上可以看出,想输入一个英文或者数字可以这样写
name = input("name:")
简单而快捷
format方法
有时我们并不想用其他信息来构造字符串。这儿format()方法就很有用。
python从2.6开始支持format,新的更加容易读懂的字符串格式化方法,
从原来的% 模式变成新的可读性更强的
花括号声明{}、用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序号, 或者 变量名直接引用。
从format参数引入的变量名 、
冒号:、
字符位数声明、
空白自动填补符 的声明
千分位的声明
变量类型的声明: 字符串s、数字d、浮点数f
对齐方向符号 < ^ >
属性访问符中括号 ☐
使用惊叹号!后接a 、r、 s,声明 是使用何种模式, acsii模式、引用__repr__ 或 __str__
增加类魔法函数__format__(self, format) , 可以根据format前的字符串格式来定制不同的显示, 如: ’{:xxxx}’ 此时xxxx会作为参数传入__format__函数中。
- 注释
最简单的注释“#”
比如:
- #print("这是一个注释")
多行注释: """ """
- '''
- for i in range(10):
- if i<5:
- continue #不往下走了,直接进入下一次loop
- print("loop:", i )
- '''
整段话就被全部注释掉了,也很简单
- 循环
表达式if ... else
- # 提示输入用户名和密码
- # 验证用户名和密码
- # 如果错误,则输出用户名或密码错误
- # 如果成功,则输出 欢迎,XXX!
- #!/usr/bin/env python
- # -*- coding: encoding -*-
- import getpass
- name = raw_input('请输入用户名:')
- pwd = getpass.getpass('请输入密码:')
- if name == "lym" and pwd == "cmd":
- print("欢迎,lym!")
- else:
- print("用户名和密码错误")
猜年龄游戏:在程序中设定好你的年龄,然后让用户输入年龄比大小,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了
- my_age = 28
- user_input = int(input("input your guess num:"))
- if user_input == my_age:
- print("Congratulations, you got it !")
- elif user_input < my_age:
- print("Oops,think bigger!")
- else:
- print("think smaller!")
若改为无限次数猜,直到你猜对了为止
- count = 0
- age_of_oldboy = 26
- while True:
- guess_age = int(input("guess age: "))
- if guess_age == age_of_oldboy:
- print("yes,you got it")
- break
- elif guess_age < age_of_oldboy:
- print("think smaller")
- else:
- print("think bigger")
若限制次数为三次,超过三次就被踢出游戏
- while count < 3:
- guess_age = int(input("guess age:"))
- if guess_age == age_of_oldboy:
- print("yes,you got it")
- break
- elif guess_age < age_of_oldboy:
- print("think smaller")
- else:
- print("think bigger")
- count +=1
- else:
- print("fuck off")
此处,count 即计数器
- 表达式 for loop
最简单的循环10次
for i in range(10):
print("loop:", i )
输出结果为
- loop: 0
- loop: 1
- loop: 2
- loop: 3
- loop: 4
- loop: 5
- loop: 6
- loop: 7
- loop: 8
- loop: 9
如果想跳着输出 loop可以修改代码为
- for i in range(0,10,2):
- print("loop:",i)
输出结果为
- loop: 0
- loop: 2
- loop: 4
- loop: 6
- loop: 8
1,3,5,7就分隔开了,从0开始每隔两个loop输出一个loop
- 表达式while loop
输出0-1000的数字
- count = 0
- while True:
- print("count:",count)
- count +=1
- if count ==1000:
- break
输出结果太多,这里就不截图了
再拓展一下,如何达到,让用户猜数字,三次内如果猜对则break,如果三次后还没有猜对则提问是否愿意继续猜? 如果打出的不是Y,则继续猜,依次循环,代码如下
- while count < 3:
- guess_age = int(input("guess age:"))
- if guess_age == age_of_oldboy:
- print("yes,you got it")
- break
- elif guess_age < age_of_oldboy:
- print("think smaller")
- else:
- print("think bigger")
- count +=1
- if count == 3:
- countiue_guess = input("do you want keep guessing?...")
- if countiue_guess != "y":
- count = 0
今天的学习的内容就是以上内容,相信大家看了以后也很容易理解,那么期待第二天的内容,我们下期见:)
浅谈自学Python之路(day1)的更多相关文章
- 浅谈自学Python之路(day2)
今天的主要内容是: 标准库 数据类型知识 数据运算 三元运算 bytes类型 字符串操作 字典 集合 标准库 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有 ...
- 浅谈自学Python之路(day3)
今天的主要内容是: 撒 文件操作 对文件操作的流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: tonghuazhen 听说白雪公主在逃跑 小红帽在担心 ...
- 浅谈自学Python之路(购物车程序练习)
购物车程序练习 今天我们来做一个购物车的程序联系,首先要理清思路 购物车程序需要用到什么知识点 需要用到哪些循环 程序编写过程中考虑值的类型,是int型还是字符串 如果值为字符串该怎么转成int型 用 ...
- 小白的Python之路 day1
Python之路,Day1 - Python基础1 本节内容 Python介绍 发展史 Python 2 or 3? 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van ...
- 小白的Python之路 day1 变量
Python之路,Day1 - Python基础1 变量 变量用于存储在计算机程序中引用和操作的信息.它们还提供了一种用描述性名称标记数据的方法,这样我们的程序就能更清晰地被读者和我们自己理解.将变量 ...
- 自学Python之路
自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的搭建:Pycharm及python安装详细教程 1.3 ...
- 自学Python之路-Python核心编程
自学Python之路-Python核心编程 自学Python之路[第六回]:Python模块 6.1 自学Python6.1-模块简介 6.2 自学Python6.2-类.模块.包 ...
- 自学Python之路-Python基础+模块+面向对象+函数
自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的 ...
- 自学Python之路-django
自学Python之路-django 自学Python之路[第一回]:1.11.2 1.3
随机推荐
- vue编辑回显问题
真是疯了,vue怪毛病真多 就下面这玩意儿,多选组合框,新增的时候好用的不行不行的,到了编辑的时候,要回显数据,怪毛病一堆一堆的 首先,回显的时候要传一个数组,但是这个数组里的元素得是字符串类型的,如 ...
- 三年半Java后端面试鹅厂,三面竟被虐的体无完肤
经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于开始重拾面试信心,再次出征. 鹅厂 面试职位: go后端开发工程师,接受从Java转语言 都知道鹅厂是cpp的主战场,而以cpp为背 ...
- 聊聊JS动画库:Velocity.js
前言 又到了炎热的7月,很久没有更新技术文章了,原因是上月月底实习结束,从公司离职.然后最近在弄自己的项目和考驾照,为了下次公司的应聘做准备,送别了女朋友到外地,哩哩啦啦半个月把一切事情都办妥后,还是 ...
- JavaScript控制iframe中元素的样式
//根据ID获取要操控元素 var deptObjs=document.getElementById("IFRAMEID").contentWindow.document.getE ...
- STM32_NVIC寄存器详解
在MDK内,与NVIC相关的寄存器,MDK为其定义了如下的结构体: typedef struct { vu32 ISER[2]; //2个32位中断使能寄存器分别对应到60 ...
- Linux 实用指令(4)
目录 实用指令 1.指定运行级别 2.切换到指定运行级别的指令 3.帮助指令 3.1man获得帮助信息 3.2help指令 4.文件目录类 4.1pwd指令 4.2 ls指令 4.3 cd指令 4.4 ...
- 用 console.time()和 console.timeEnd() 测试你的 javascript 代码执行效率
无意中学习到了一种测试 javascript 代码执行效率的一种方法,就记下来便于以后使用,用到了console对象中的 time 和 timeEnd 方法 . console.time('m ...
- linux学习8-正则表达式基础
正则表达式基础 实验介绍 虽然我们这一节的标题是正则表达式,但实际这一节实验只是介绍grep,sed,awk这三个命令,而正则表达式作为这三个命令的一种使用方式(命令输出中可以包含正则表达式).正则表 ...
- yum http源
统一集群内,有一个yum本地源即可,集群内其他机器的yum可配成http源 方法: yum1:本地yum源节点 yum2:集群内其他节点 yum1: ①service httpd start ②mki ...
- CDOJ 889 Battle for Silver
Battle for Silver Time Limit: 2999/999MS (Java/Others) Memory Limit: 65432/65432KB (Java/Others) ...