python冲击二级——趣味编程,主动犯错吧,

习武之人,首先要学会挨打,这样才会知道如何防守,如何避免受到严重的伤害。
在这里插入图片描述
所以今天我们第一课,是主动犯错,来看看解释器会告诉我们什么。

>>> print(“hello world”)
  File "<stdin>", line 1
    print(“hello world”)
               ^
SyntaxError: invalid character in identifier

看上去没什么特别啊,怎么会出错?
SyntaxError:标识符中的字符无效
原因是我使用了中文的引号,导致出现了无效字符错误。

>>> a=100
>>> b="100"
>>> a-b
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'int' and 'str'

a变量为int整型,b变量为str字符串类型,无法进行运算,导致错误。
TypeError:-:“int”和“str”的操作数类型不受支持 (英文不好可以百度翻译啊,我一直在用哈哈 )

>>> a=100
>>> b=99.9
>>> a-b
0.09999999999999432
>>> 

我看到了什么,难道这是python的bug!!!然而并不是,这是所有编程语言都会产生的问题。
1.1 和 2.2 这样的数字在二进制浮点中没有精确的表示。最终用户通常不希望 1.1 + 2.2 如二进制浮点数表示那样被显示为 3.3000000000000003。
所以使用浮点数计算的时候一定要注意,保留合理位数,或者用python基本库的decimal模块,进行更精确的计算。

大多数情况,上述的错误是我们,经常都会犯的,当然我们犯的错越多,就会越强大!!
在这里插入图片描述
让我们再看一看一些特别的操作

>>> a="你好"
>>> b="张三"
>>> c=a+b       #字符串相加,俗称字符串拼接
>>> c
'你好张三'
>>> a*3        #相当于拼接了3次
'你好你好你好'
>>> a
'你好'
>>> a-b      #减法不行哦,又是熟悉的错误。
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'str' and 'str'

是时候来编写一个简单的小程序,来检验我们的成果了:

题目:打印一条欢迎信息,提示你输入名字,然后打印问候信息
这个时候就需要我们的idle上场了,还记得idle怎么打开吗?去开始菜单里面找到它。

在这里插入图片描述单击file-newfile
在这里插入图片描述现在我们就可以开心的输入代码了。
写入以下代码,我建议大家自己手打。

print("*"*10,"欢迎进入我的第一个程序""*"*10,)
print("请告诉我你的名字")
name = input("请输入名字:")
print("你叫",name,“这真是一个好名字啊”)
print("你的年龄多大呢?")
age = input("输入年龄:")
print("如果你还没过生日,今年你就要",age+1,"岁了")

之后我们点击file-save

在这里插入图片描述大家最好保存到桌面可以直观的看见文件,文件名字你可以自己取,然后点击save,之后你就会发现桌面多了一个,study1.py文件,没错python文件的后缀名就是py,其实这就是一个文本文件,大家有嗯记事本也可以打开。我们之后都会用idle的file-open打开,就可以直接编辑。

文件写好了如何运行呢???

直接按F5,或者点击 run–run module
在这里插入图片描述如果你吵了我的代码,对不起,请找找错误吧哈哈哈。大家可以每一个菜单都看看,研究研究这个idle都有什么选项,什么也别怕,弄它。

以下是该程序正确的输出

********** 欢迎进入我的第一个程序 **********
请告诉我你的名字
请输入名字:白加黑
你叫 白加黑 这真是一个好名字啊
你的年龄多大呢?
输入年龄:180
如果你还没过生日,今年你就要 181 岁了
>>> 

正确代码如下,我相信标点的错误都是好发现的,但最后一行的错误,相信新手一定找不出。

print("*"*10,"欢迎进入我的第一个程序","*"*10,)
print("请告诉我你的名字")
name = input("请输入名字:")
print("你叫",name,"这真是一个好名字啊")
print("你的年龄多大呢?")
age = input("输入年龄:")
print("如果你还没过生日,今年你就要",int(age)+1,"岁了")

因为input接收进来的值,永远都是字符串,如果想进行四则运算,我们需要转换成整型,也就是int类型,如何转换,看以下例子:

age = input("你的年龄是:")
你的年龄是:100
>>> a
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    a
NameError: name 'a' is not defined
>>> age
'100'
>>> type(age)#看看age的类型
<class 'str'>
>>> b=int(age)#字符串转为了整型
>>> b
100
>>> type(b) #看看b的类型
<class 'int'>

看到上面那个错误了吗?应为a这个变量,我并没有定义,所以调用的时候出现没有找到这个变量。

>>> int("100")
100
>>> int("01")
1
>>> int("0.001")
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    int("0.001")
ValueError: invalid literal for int() with base 10: '0.001'
>>> float("0.001")
0.001

又出现了一个错误,因为字符串内部是一个浮点类型的表示,无法用int转换,必须用float转换。

>>> float("0.001")
0.001
>>> int(1.112)
1
>>> float(1)
1.0
>>> str(float(1))
'1.0'
>>> int(str(1000))
1000
>>> 

整型和浮点型是可以相互转换的,大家在编写程序的时候,时刻别忘记了类型,这很重要,避免出错。放开你的想象力,去试一试吧。

我们再来看一下print这个函数

>>> print("你好,我是白月光")
你好,我是白月光
>>> print("你好",",我是","白月光")#结果每个逗号之后都有一个空格
你好 ,我是 白月光
>>> print("你好",",我是","白月光",sep='')#设置sep为空字符串,就一样了
你好,我是白月光
>>>print("你好",",我是","白月光",sep='×××')#这样是不是明白了
你好×××,我是×××白月光

print的sep参数,控制每一个参数之间的分隔符,默认是一个空格。

>>> print("你好",sep="hello")
你好
>>> print("你好",1234,sep="hello")
SyntaxError: invalid character in identifier
>>> print("你好","1234",sep="hello")
你好hello1234

可见只有一个参数的时候,并不会打印sep,错误总是存在的,只要你知道错在了哪里。

在idle中输入如下代码,然后按f5运行

print("hahaha",end='')
print("我是无敌的")

结果:

hahaha我是无敌的
>>> 

不是应该换行吗?怎么打印到了一起了,这就是end参数,它的默认值是’\n’,也就是换行符号,如果我们把它设置为空,就不会换行了,当然我们也可以把它设置成任意字符串。

介绍个新的函数len,你可以向 len()函数传递一个字符串(或包含字符串的变量),然后该函数求值为一个整型值,即字符串中字符的个数。

>>> a="1234567"
>>> len(a)
7
>>> b="你好啊"
>>> a=len(b)
>>> a
3
>>> tpye(a)
Traceback (most recent call last):
  File "<pyshell#21>", line 1, in <module>
    tpye(a)
NameError: name 'tpye' is not defined
>>> type(a)
<class 'int'>

你可以用一个计算器来计算表达式,或在文本处理器中输入字符串连接,甚至可以通过复制粘贴文本,很容易地实现字符串复制。
但是表达式以及组成它们的值(操作符、变量和函数调用),才是构成程序的基本构建块。一旦你知道如何处理这些元素,就能够用 Python 操作大量的数据。
最好是记住不同类型的操作符(+、-、、/、//、%和**是数学操作符,+和是字符串操作符),以及 3 种数据类型(整型、浮点型和字符串)。
我们还介绍了几个不同的函数。print()和 input()函数处理简单的文本输出(到屏幕)和输入(通过键盘)。
len()函数接受一个字符串,并求值为该字符串中字符的数目。
在下一篇中,你将学习如何告诉 Python 根据它拥有的值,明智地决定什么代码要运行,什么代码要跳过,什么代码要重复。这称为“控制流”,它让你编写程序来做出明智的决定。

课后习题:

在这里插入图片描述在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~白+黑

真乃人中龙凤,必成大器,

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值