print("--------金牛侠--------")#输出 print英[prɪnt]
temp = input("猜一猜牛哥心里想的那个数字:")#输入一个整数
guess = int(temp)#转换成int类型
if guess == 88:#如果guess等于88
print("恭喜,猜对了!")#输出 缩进要使用4个空格或者按Tab键
print("但是没礼品哦!")#输出
else:#如果guess不等于88
print("猜错啦,牛哥心里想的是88!")#输出
**
小甲鱼零基础学python全套课后题
第1课
- Python 是什么类型的语言?
Python是脚本语言
脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比 C语言、C++语言 或 Java 之类的系统编程语言要简单容易。
也让脚本语言另有一些属于脚本语言的特性:
• 语法和结构通常比较简单
• 学习和使用通常比较简单
• 通常以容易修改程序的“解释”作为运行方式,而不需要“编译”
• 程序的开发产能优于运行性能
一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组串行。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令串行的指令,还可以编写更复杂的程序。
- IDLE 是什么?
IDLE是一个Python Shell,shell的意思就是“外壳”,基本上来说,就是一个通过键入文本与程序交互的途径!像我们Windows那个cmd窗口,像Linux那个黑乎乎的命令窗口,他们都是shell,利用他们,我们就可以给操作系统下达命令。同样的,我们可以利用IDLE这个shell与Python进行互动。
- print() 的作用是什么?
print() 会在输出窗口中显示一些文本(在这一讲中,输出窗口就是IDLE shell窗口)。
- Python 中表示乘法的符号是什么?
Python中的乘号是*(星号)。
- 为什么 >>>print('I love fishc.com ’ * 5) 可以正常执行,但 >>>print('I love fishc.com ’ + 5) 却报错?
在 Python 中不能把两个完全不同的东西加在一起,比如说数字和文本,正是这个原因,>>>print('I love fishc.com ’ + 5) 才会报错。这就像是在说“五只小甲鱼加上苍井空会是多少?”一样没有多大意义,结果可能是五,可能是六,也可能是八!不过乘以一个整数来翻倍就具有一定的意义了,前边的例子就是将 “I love fishc.com” 这个字符串打印五次。
- 如果我需要在一个字符串中嵌入一个双引号,正确的做法是?
你有两个选择:可以利用反斜杠(\)对双引号转义:",或者用单引号引起这个字符串。例如:’ I l"o"ve fishc.com '。
- 为什么我们要使用 Python3?Python2到底有什么问题?看起来很多程序员依然都在使用Python2?
确实还有相当多的程序员在使用 Python2,不过 Python3 才是 Python 发展的未来,就像 XP 和 WIN7 一样。在《零基础入门学习Python》的系列教程准备中,小甲鱼发觉 Python3 中的新特性确实很妙,很值得进行深入学习!你也不用担心,如果你了解了 Python3,Python2 的代码阅读对于你来说根本不成问题!
第2课
- 什么是BIF?
BIF 就是 Built-in Functions,内置函数。为了方便程序员快速编写脚本程序(脚本就是要编程速度快快快!!!),Python 提供了非常丰富的内置函数,我们只需要直接调用即可,例如 print() 的功能是“打印到屏幕”,input() 的作用是接收用户输入(注:Python3 用 input() 取代了 Python2 的 raw_input(),用法如有不懂请看视频讲解)。
太多BIF学不过来怎么办?看不懂英文说明怎么办?Python3的资料太少怎么办?没事,有了小甲鱼,妈妈再也不用担心我的学习了!
- 用课堂上小甲鱼教的方法数一数 Python3 提供了多少个 BIF?
在 Python 或 IDLE 中,输入 dir(builtins) 可以看到 Python 提供的内置方法列表(注意,builtins 前后是两个下划线哦)其中小写的就是 BIF。如果想具体查看某个 BIF 的功能,比如 input(),可以在 shell 中输入 help(input),就会得到这个 BIF 的功能描述。哦,答案应该是 68 个,不信你自己数数看,你们肯定没有自己完成作业就来看答案!哼~ T_T
- 在 Python 看来:‘FishC’ 和 ‘fishc’ 一样吗?
不一样,因为 Python 是一个“敏感的小女孩”,所以不要试图欺骗她,对 Python 来说,fishc 和 FishC 是完全不同的两个名字,所以编程的时候一定要当心。不过 Python 会帮助解决可能因此出现的问题,例如只有当标识符已经赋值后(还记得吗,小甲鱼在课堂中说过 Python 的变量是不用先声明的)才能在代码中使用,未赋值的标识符直接使用会导致运行时错误,所以你很快就可以根据经验发现此问题。
- 在小甲鱼看来,Python 中什么是最重要的?你赞同吗?
缩进!在小甲鱼看来,缩进是 Python 的灵魂,缩进的严格要求使得 Python 的代码显得非常精简并且有层次(小甲鱼阅读过很多大牛的代码,那个乱…C语言不是有国际乱码大赛嘛…)。
所以在 Python 里对待缩进代码要十分小心,如果没有正确地缩进,代码所做的事情可能和你的期望相去甚远(就像C语言里边括号打错了位置)。
如果在正确的位置输入冒号“:”,IDLE 会自动将下一行缩进!
- 这节课的例子中出现了“=”和“”,他们表示不同的含义,你在编程的过程中会不小心把“”误写成“=”吗?有没有好的办法可以解决这个问题呢?
C语言的话,如果 if( c == 1 ) 写成 if( c = 1 ),程序就完全不按程序员原本的目的去执行,但在 Python 这里,不好意思,行不通,语法错误!Python 不允许 if 条件中赋值,所以 if c = 1: 会报错!
小甲鱼觉得这种做法可以非常有效的防止程序员因为打炮、熬夜等问题导致粗心的 BUG ,并且这类 BUG 杀伤力都巨大!
- 你听说过“拼接”这个词吗?
在一些编程语言,我们可以将两个字符串“相加”在一起,如:‘I’ + ‘Love’ + ‘FishC’ 会得到 ‘ILoveFishC’,在 Python 里,这种做法叫做拼接字符串。
第3课
- 编写程序:hello.py,要求用户输入姓名并打印“你好,姓名!”
name =input("输入用户名字:")
print("您好",name,"!")
- 编写程序:calc.py 要求用户输入1到100之间数字并判断,输入符合要求打印“你妹好漂亮”,不符合要求则打印“你大爷好丑”
num = int(input("请输入1~100的数字:"))
if 100 >= num >= 1:
print("你妹好漂亮")
else:
print("你大爷好丑")
- 如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?
print( r'C:\Program Files\FishC\Good''\\')
**
** 第4课**
**
测试题:
- 请问以下代码会打印多少次“我爱牛哥!”
while "c":
print("我爱牛哥")
答:会打印无数次,因为条件“C”永远是真的。
- 请问以下代码会打印多少次“牛哥!”
i = 10
while i:
print("牛哥")
i -=1
答:打印10次。
解析:因为当i=0时会停止打印,所以从i的值从10到1时会打印10次。
-
请写出与 10 < cost < 50 等价的表达式
10 < cost & cost < 50 或 (10 < cost) and (cost < 50) -
Python3 中,一行可以书写多个语句吗?
print(“我爱”) , print(“牛哥”)
print(“我爱”) ; print(“牛哥”) -
Python3 中,一个语句可以分成多行书写吗?
可以。如果有括号(小括号、中括号、大括号),可以在任意地方断行。如果没有,需要在断开的地方添加 \ 字符,表示这一行尚未结束。例如:
num = [1,
2,
3,
4,5,
6
]
print(num)
print (“我爱
牛哥”)
注意:反斜杠\ 是在上一行代码结尾处加。
-
请问Python的 and 操作符 和C语言的 && 操作符 有何不同?【该题针对有C或C++基础的朋友】
没什么不同,就是长得不一样。
举个例子,假设我们现在要判断x是否等于1,并且y是否等于2,用C语言, 判断语句这么写:
if( x1 && y2 )
用Python,这么写:
if x1 and y2:
或者
if (x1 and y2): -
听说过“短路逻辑(short-circuit logic)”吗?
动动手:
- 完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。
import random
times = 3
secret = random.randint (1,10)#随机函数
#先给出guess赋值(赋一个绝对不等于secret的值)
guess = 0
#print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
print('猜一猜牛哥心里想的那个数字:',end='')#注意逗号用英文标点
while (guess != secret) and (times > 0):
temp =input()
guess = int (temp)
times = times - 1 # 每输入一次,可用机会就-1
if guess == secret:
print('恭喜,猜对了!')
print("没礼品")
else:
if guess > secret:
print('大了!')
else:
print('小了!')
print("回答错误,请重新输入:",end="")
print('游戏结束!')