python第二天

0. 以下哪个变量的命名不正确?为什么?

    (A) MM_520  (B) _MM520_  (C) 520_MM  (D) _520_MM
C,数字不能在首位

1. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
  1. >>>myteacher = '小甲鱼'
  2. >>>yourteacher = myteacher
  3. >>>yourteacher = '黑夜'
  4. >>>print(myteacher)
打印出来:'小甲鱼'
 


2. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
  1. >>> myteacher = '小甲鱼'
  2. >>> yourteacher = myteacher
  3. >>> myteacher = '黑夜'
  4. >>> print(yourteacher)
打印出来:'小甲鱼'


3. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
  1. >>>first = 520
  2. >>>second = '520'
  3. >>>first = second
  4. >>>print(first)
打印出来:'520'   此题错误

会打印:520,注:这里没有单引号括起来,但是他是一个字符串,因为使用 print() 打印,所以不包含单引号。可以试试直接>>>first,它是一个字符串的。

4. 除了使用反斜杠(\)进行字符转义,还有什么方法可以打印:Let's go! 这个字符串?

此题没想出来
>>>"Let's go!"

5. 如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?

在结尾添加+“\”。此题答案错误

>>>str = r'C:\Program Files\FishC\Good''\\'


6. 在这一讲中,我们说变量的命名需要注意一些地方,但小甲鱼在举例的时候貌似却干了点儿“失误”的事儿,你能看得出小甲鱼例子中哪里有问题吗?

 

>>> print = 1
>>> print("I love FishC")
Traceback (most recent call last):
File "<pyshell#37>", line 1, in <module>
print("I love FishC")
TypeError: 'int' object is not callable


动动手:

0. 还记得我们第一讲的动动手的题目吗?这一次要求使用变量,计算一年有多少秒?

提示:可以以 DaysPerYear(每年天数),HoursPerDay(每天小时数),MinutesPerHour(每小时分钟数),SecondsPerMinute(每分钟秒数)为变量名。

DaysPerYear=365
HoursPerDay=24
MinutesPerHour=60
SecondsPerMinute=60
time=DaysPerYear*HoursPerDay*MinutesPerHour*SecondsPerMinute
time    或者print(time)

 

输出:31536000

1. 关于最后提到的长字符串(三重引号字符串)其实在 Python3 还可以这么写,不妨试试,然后比较下哪种更方便?

  1. >>> string = (
  2. "我爱鱼C,\n"
  3. "正如我爱小甲鱼,\n"
  4. "他那呱唧呱唧的声音,\n"
  5. "总缠绕于我的脑海,\n"
  6. "久久不肯散去……\n")
1
2
3
4
5
6
7
string = (
"我爱鱼C,\n"
"正如我爱小甲鱼,\n"
"他那呱唧呱唧的声音,\n"
"总缠绕于我的脑海,\n"
"久久不肯散去……\n")
print(string)

 输出

我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧的声音,
总缠绕于我的脑海,
久久不肯散去……



2. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!

 

 

0. 请问以下代码会打印多少次“我爱鱼C!”

  1. while 'C':
  2.     print('我爱鱼C!')
无数次循环,会一直打印“我爱鱼C!”(嗯,这也算是永远支持鱼C的方法之一),直到崩溃或者用户按下快捷键 CTRL + C(强制结束)


造成死循环的原因是 while 后边的条件永远为真(True),在 Python 看来,只有以下内容会被看作假(注意冒号括号里边啥都没有,连空格都不要有!):False None 0 "" '' () [] {}

其他一切都被解释为真!

1. 请问以下代码会打印多少次“我爱鱼C!”

  1. i = 10
  2. while i:
  3.     print('我爱鱼C!')
  4.     i = i - 1
10次


2. 请写出与 10 < cost < 50 等价的表达式
10<cost and cost<50

(10 < cost) and (cost < 50) 加入括号

3. Python3 中,一行可以书写多个语句吗?

可以,一行过长的语句可以使用反斜杠或者括号分解成几行

>>> 3 > 4 and \1 < 2




4. Python3 中,一个语句可以分成多行书写吗?

不可以



5. 请问Python的 and 操作符 和C语言的 && 操作符 有何不同?【该题针对有C或C++基础的朋友】
有图有真相(C\C++ VS Python):


<ignore_js_op>

VS

<ignore_js_op>

6. 听说过“短路逻辑(short-circuit logic)”吗?
举例来说,表达式x and y需要两个变量都为真时才为真,所以如果x为假,表达式就会立刻返回false,而不管y的值(事实上各个语言都有这个特性)。 实际上,如果x为假,表达式会返回x得值----否则它就返回y的值。 这种行为被称为短路逻辑(short-circuit logic)或惰性求值(lazy evaluaion):布尔运算符通常被称为逻辑运算符,就像你看到的那样第2个值有时“被短路了”。

动动手:

0. 完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
print('---------------------------------来玩一个游戏吧----------------------------')
i=0
while i<3:
    i+=1
    temp =input('请输入代表心情的数字:')
    guess=int (temp)
    if guess==8:
        print("你是猜对了!")
        print("你是小甲鱼的蛔虫吗?")
        break
    else:
        print("你是猜错了!")
print("游戏结束,期待下次您的选择.")

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import random
times = 3
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
# 这里先给guess赋值(赋一个绝对不等于secret的值)
guess = 0
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
# 嗯,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
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("嘿,小了,小了~~~")
        if times > 0:
            print("再试一次吧:", end=" ")
        else:
            print("机会用光咯T_T")
print("游戏结束,不玩啦^_^")

 

  

问题1:temp =input('请输入代表心情的数字:'guess=int (temp)这2行放在了while外面,i=0的下面,每次只显示1次

  2.i+=1写成了i+=1.python一直执行,用ctrl+c结束运行

  3.引入了break,放在了else后面,错误

  4.最后一句print语句总是写错位置,运行报错,调整后才正确




1. 尝试写代码实现以下截图功能:


<ignore_js_op>

1
2
3
4
5
6
i=0
temp =input('请输入一个整数:')
guess=int (temp)
while i<guess:
    i+=1
    print(i)

问题1:注意print位置,如果和while对齐,只打印输入数字


2. 尝试写代码实现以下截图功能:


<ignore_js_op>这个不会

1
2
3
4
5
6
7
8
9
10
11
12
13
temp = input('请输入一个整数:')
number = int(temp)
while number:
    i = number - 1
    while i:
        print(' ', end = '')
        i = i - 1
    j = number
    while j:
        print('*', end = '')
        j = j - 1
    print()
    number = number - 1

  



3. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!

posted @   猫猫家的毛毛虫  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示