003.小插曲之变量和字符串

插曲之变量:

0、 变量名就像是我们现实社会的名字,把一个值给一个名字时,ta会存储子在内存中,称之为变量(variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储在变量中”。

1、不过python与大多数其他计算机语言的做法稍有不同,ta并不是把值存储在变量中,而更像是把名字贴在值的上边。

2、所以有些python程序员会说“python”没有“变量”,只有“名字”。

在这里插入图片描述

需要注意的地方:

0、在使用变量之前,需要对其先赋值。

1、变量名可以包括字母、数字、下划线,单变量名不能以数字开头。

2、字母可以是大写或小写,但大小写时不同的。也就是说fishC和FishC对于Python来说时完全不同的两个名字。

3、等号(=)是赋值的意思,左边是名字,右边是值,不要写反咯。

4、变量的名字理论上可以取任何合法的名字,但作为一个优秀的程序员,请尽量给变量取一个专业一点儿的名字:

t = '小甲鱼'
xxoo = '小甲鱼'
teacher = '小甲鱼'

插曲之字符串:

1、到目前为止,我们所认知的字符串就是引号内的一切东西,我们也把字符串叫做文本,文本和数字是截然不同的,咱看例子:

5+8

在这里插入图片描述

'5'+'8'

在这里插入图片描述

2、要告诉python你在创建一个字符串,就要在字符两边加上引号,可以是单引号或者双引号,python女士表示不挑剔。但必须成对,你不能一边单引号,另一边却花心的用上双引号结尾。

在这里插入图片描述

3、如果字符串中需要出现单引号或双引号怎么办?
— 例如我想打印字符串:Let’s go!

4、有两种方法,第一种比较常用,就是使用我们的转义符号(\)对字符串中的引号进行转义:

'Let\'s go!'

在这里插入图片描述

5、还有一种方法小甲鱼卖个关子, 让大家先思考一下,在课后习题里边会有举例讲解。

原始字符串:

1、好像反斜杠是一个好东西,但不妨试试打印:

str = 'C:\now'

在这里插入图片描述

2、我们可以用反斜杠对自身进行转义:

str = 'C:\\now'

在这里插入图片描述

2、但如果对于一个字符串中有很多个反斜杠:

str = 'C:\Program Files\Intel\Wifi\Help'

在这里插入图片描述

3、原始字符串的使用非常简单,只需要在字符串前边加一个英文字母r即可:

str = r'C:\now'

在这里插入图片描述

长字符串:
1、如果希望的得到一个跨越多行的字符串,例如:
我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧
呱唧呱唧
呱唧呱唧的声音,
总缠绕于我的脑海,
久久不肯散去……

2、着我们就需要使用三重引号字符串!

在这里插入图片描述

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

while 'C':
print('我爱鱼C!')

死循环:无限次

  1. 请问以下代码会打印多少次“我爱鱼C!”
i = 10
while i:
print('我爱鱼C!')
i = i - 1

While循环只适用于非死循环中,若为死循环则执行无限次。
注:最后结果只能为0可结束循环。

  1. 请写出与 10 < cost < 50 等价的表达式。

答:10 < cost and cost < 50

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

答:可以,用分号隔开。

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

答:可以,用\续行 ‘‘‘ ()等都可以。

  1. 请问Python的 and 操作符 和C语言的 && 操作符 有何不同?【该题针对有C或C++基础的朋友】

&& 操作符只能返回【逻辑值】: 0 或 1
and 操作符返回的是【实际值】

  1. 听说过“短路逻辑(short-circuit logic)”吗?

在Python中:

1.对于纯and语句,如果每一个表达式都为真,则返回最后一个表达式的实际值(因为要一直匹配到最后一个表达式,才能知道该表达式是否为真);如果有一个表达式为假,则返回第一个假表达式的实际值(因为根据第一个为假表达式就可以知道整个表达式为假了,没必要再看后面的表达式了)。例如:1 and 2 返回 2;3 and False 返回 False;1 and 0 and 3 and 5,有一个0为假,其他表达式都不用看,直接知道返回值为0,实际分析过程:((1 and 0) and 3 )and 5。

2.对于纯or语句,如果每一个表达式都为假,则返回最后一个表达式的实际值;如果有一个表达式为真,则返回第一个真表达式的实际值。例如:1 or 0 返回1;False or 3 or 0返回3。

3.对于and和or混合语句,逐个分析。例如:(False and 3 )or( 9 and 0) or 7 or 4 返回 7。注意:逻辑运算符优先级:not>and>or;分析:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9【解】(not 1) or (0 and 1 )or (3 and 4) or (5 and 6) or (7 and 8 and 9)返回:4。这便是所谓的“短路逻辑”,类似于分析串并联电路中各个元件是否正常工作一样。

动动手:

  1. 完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。
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("游戏结束,不玩啦^_^")

自改版:

import random
secret = random.randint(1,10)
print('--------猜数字的小游戏--------')
temp = input('猜一猜我现在心里想的数字:')
guess = int(temp)
if secret == guess:
    print("厉害了,一次就猜中了!")
else:
    if guess>secret:
        print("大了,大了!")
    else:
        print("小了,小了!")
i=3
while guess != secret and i:
    temp = input('哎呀,猜错了,请重新输入吧:')
    guess = int(temp)
    if guess ==secret:
        print("这都能猜出来,绝了!")
        print("哈哈哈,猜对了也没有奖励!")
    else:
        if guess>secret:
            print("大了,大了!")
        else:
            print("小了,小了!")
    i=i-1
print("游戏结束,不玩了!")
  1. 尝试写代码实现以下截图功能:

在这里插入图片描述

figure = int(input('请输入一个整数:'))
while figure:
    print(figure)
    figure = figure-1
  1. 尝试写代码实现以下截图功能:

在这里插入图片描述

figure = int(input('请输入一个整数:'))
while figure:
    print(" "*(figure-1),end = '')
    print("*"*figure)
    figure = figure-1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值