当前位置: 首页 > news >正文

python3 _笨方法学Python_日记_DAY1

第四版 资源https://pan.baidu.com/s/1bqvf0Ov

从零开始!每个细节都要过

书中是根据python2.5写的

我用的是py3,顺便熟悉一下两者的区别

 

  • Day1 
  • “习题一:第一个程序”

print("hello world!")
print("Hello again")
print("I like typing this.")
print("This is fun.")
print('Yay!Printing.')
print("I'd much rather you 'not'.")
print('I "said" do not touch this.')

结果:

hello world!
Hello again
I like typing this.
This is fun.
Yay!Printing.
I'd much rather you 'not'.

I "said" do not touch this.

尝试:玩一玩单引号和双引号

 

#单引号双引号尝试
print('1')
print("1")

1

1

似乎是一样的,那么

print('1")

  File "E:/py/learn python the hard way/Day1/01.py", line 12
    print('1")
             ^

SyntaxError: EOL while scanning string literal

字符串,引号没有成对出现,报错,看来并不完全一样

再试试

 

print("I'd love to")
print('I'd love to')

第二个报错

    print('I'd love to')
             ^

SyntaxError: invalid syntax

所以双引号可以避免这种句子中需要单引号的情况

 

  • 习题  3:  数字和数学计算

print("I'll now count my chickens:")
print("Hens",25+30/6)
print("Roosters",100-25*3%4)
print("Now I will count the eggs:")
print(3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6)
print("It is true that 3+2<5-7?")
print(3+2<5-7)
print("what is 3+2?",3+2)
print("what is 5-7?",5-7)
print("Oh that's why it is false.")
print("How about some more.")
print("Is it greater?",5-2)
print("Is it greater or equal?",5>=-2)
print("Is it less or equal?",5<=-2)

Hens 30.0
Roosters 97
Now I will count the eggs:
6.75
It is true that 3+2<5-7?
False
what is 3+2? 5
what is 5-7? -2
Oh that's why it is false.
How about some more.
Is it greater? 3
Is it greater or equal? True
Is it less or equal? False

结果与书上有出入的有两行,应该是PY2和PY3的区别

print("Hens",25+30/6)
30.0
print(3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6)
6.75

书上结果为30和7

主要在于除法的运算上,

py2:一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分

所以1/4=0 所以第二条结果为7

在Python3.0中变成真除法(无论任何类型都会保持小数部分,即使整除也会表示为浮点数形式)

  • 习题4:变量(variable)和命名

 

cars=100
space_in_a_car=4.0
drivers=30
passengers=90
cars_not_driven=cars-drivers
cars_driven=drivers
carpool_capacity=cars_driven*space_in_a_car
average_passengers_per_car=passengers/cars_driven

print("there are",cars,"cars available")
print("there are only",drivers,"drivers available")
print("there will be",cars_not_driven,"empty cars today")
print("we can transport",carpool_capacity,"people today")
print("we have",passengers,"to carpool today")
print("we need to put about",average_passengers_per_car,"in each car")

结果

there are 100 cars available
there are only 30 drivers available
there will be 70 empty cars today
we can transport 120.0 people today
we have 90 to carpool today
we need to put about 3.0 in each car

加分题:

Traceback (most recent call last):
File "ex4.py", line 8, in <module>
average_passengers_per_car = car_pool_capacity /
passenger
NameError: name 'car_pool_capacity' is not defined

#报错原因:car_pool_capacity 没有被定义

  • 习题5:更多的变量和打印

 

 

my_name='mrfri'
my_age=23
my_height=178#cm
my_weight=60#kg
my_eyes='Brown'
my_teeth='White'
my_hair='Black'
print("Let's talk about %s."%my_name)
print("He is %d cms high."%my_height)
print("He is %d kgs heavy."%my_weight)
print("He's got %s eyes and %s hair.His teeth are %s."%(my_eyes,my_hair,my_teeth))
print("If I add %d,%d and %d,then I get: %d."%(my_age,my_weight,my_height,my_age+my_height+my_weight))

Let's talk about mrfri.
He is 178 cms high.
He is 60 kgs heavy.
He's got Brown eyes and Black hair.His teeth are White.
If I add 23,60 and 178,then I get: 261.

格式化字符:

%% 百分号标记 #就是输出一个%
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中

%r 照原样打印出来,例如字符串会打印出引号

测试:

first='a'
second=1-17
third=0.0008320320156

print("first is %c"%first)
print("有符号整数%d十进制"%second)
print("无符号整数%u十进制"%second)
print("无符号整数%o八进制"%second)
print("无符号整数%x十六进制"%second)
print("浮点数字%f小数点"%third)
print("浮点数字%e科学计数法"%third)
print("自动判断用e还是f,%g"%third)

有符号整数-16十进制
无符号整数-16十进制
无符号整数-20八进制
无符号整数-10十六进制
浮点数字0.000832小数点
浮点数字8.320320e-04科学计数法
自动判断用e还是f,0.000832032

可见,似乎在python3中不存在有无符号的说法,统一打成有符号的?

 

今天就到这吧,从实例入手感觉还不错,比较好玩,比光看书有意思多了。

坚持!

转载于:https://www.cnblogs.com/mrfri/p/8449096.html

相关文章:

  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 提高开发效率之VS Code基础配置篇
  • 【301】IDL与C#混合编程
  • 小总结
  • 【18】万魂杀服务器开发之SDK接入
  • 12c broker fast-start failover - ORA-16820解决
  • Nginx配置——区分PC或手机访问不同域名
  • Eclipse MicroProfile 1.3现已发布
  • VTP的模式(思科)
  • 掀开图片显示介绍的css效果
  • JS判断某变量是否为某数组中的一个值的3种方法
  • Hook技术--Activity的启动过程的拦截
  • AR和VR持续升温,2020年市场规模将达1500亿美元
  • 【转】给Java说句公道话
  • 你可能不知道的Shell
  • Android系统模拟器绘制实现概述
  • Asm.js的简单介绍
  • CentOS7简单部署NFS
  • Linux gpio口使用方法
  • Python 基础起步 (十) 什么叫函数?
  • Python_网络编程
  • rabbitmq延迟消息示例
  • SpiderData 2019年2月16日 DApp数据排行榜
  • SpiderData 2019年2月23日 DApp数据排行榜
  • vue 个人积累(使用工具,组件)
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 从伪并行的 Python 多线程说起
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 计算机常识 - 收藏集 - 掘金
  • 坑!为什么View.startAnimation不起作用?
  • 如何实现 font-size 的响应式
  • 设计模式(12)迭代器模式(讲解+应用)
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 原生JS动态加载JS、CSS文件及代码脚本
  • (Git) gitignore基础使用
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (solr系列:一)使用tomcat部署solr服务
  • (安卓)跳转应用市场APP详情页的方式
  • (强烈推荐)移动端音视频从零到上手(下)
  • (三)uboot源码分析
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • .bat文件调用java类的main方法
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET的微型Web框架 Nancy
  • @angular/cli项目构建--Dynamic.Form
  • [ 数据结构 - C++]红黑树RBTree
  • [16/N]论得趣
  • [Angular 基础] - 数据绑定(databinding)
  • [bzoj2957]楼房重建
  • [BZOJ4566][HAOI2016]找相同字符(SAM)
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测
  • [HTML]Web前端开发技术18(HTML5、CSS3、JavaScript )HTML5 基础与CSS3 应用——喵喵画网页