问题_001_Vivian
2020.02.02,大哥问了这样一个问题 ===》
s = "PYTHON"
while s != "":
for c in s:
if c == "T":
break
print(c, end = "")
s = s[:-1]
----首先来看一下 s = s[:-n]是什么意思 ===》它的意思就是将原先的s截去后n个字符,然后再赋值给本身。
----然后再来看这个题是什么意思,我们先将 if 语句去掉 ===》
while s != "":
for c in s:
print(c, end = "")
s = s[:-1]
这个题的目的是什么就显而易见了叭 ===》就是通过for循环循环输出s,只不过每一次循环都将s的最后一位去掉,直到s为空。
----OK,知道这一点后,再将 if 语句加上,遇上“T”这个字符就直接跳出for循环。
在解释之前,先说明一件事:这个输出结果分为两个部分 ===》
1. 前面的PYPYPYPY
2. 后面的PYP
知道这一点后,好的,开始解释:
第一部分是因为PYTHON这个字,“T”以及“T”以后一共有4个字母,也就说明s能够被减4次 ===》出现4个PY;
第二部分,由于T这个字母已经被删掉了,这就相当于是没有了 if 语句,故情况与刚开始的没有 if 语句的情况一样,只是s的值不同罢了 ===》出现PYP。
全文终,没懂就私聊好叭
问题_001_Vivian的更多相关文章
- 补充_001_问题_001_Vivian
在此先向前辈们和同学们道个歉,一是没有认真地专研前辈们的精文,二是对一些读者造成了一定程度上的困扰,为此鄙人深感抱歉,现在对"问题_001_Vivian"中不严谨的地方进行修改: ...
随机推荐
- TCP链接的三次握手与四次断开
一直总觉得三次握手和四次断开,之前老师讲的有问题,经过自己再次琢磨,发现是的,老师讲的没毛病,这次也把自己的理解总结一下,让对这个知识模糊的小伙伴再换种思路去理解 首先看一下TCP三次握手发生了哪些: ...
- Semaphores
信号量和P,V原语的使用可归纳为三种情形: 把信号量视为加锁标志位,其目的是为了实现对某个唯一的共享数据的互斥访问,如各个进程间的某共享变量,数据库中的某个记录. 共享数据的值与信号量本身的值没有直接 ...
- 一句话教你分清楚UML组合聚合和联系!
组合:组合后的实体消失,则所有构成实体的部件都无意义,可以理解为不能独立存在 定义: 与聚合相比,组合描述的是这样的关联关系,部分离开整体后就没有实际意义了.所以我们说组合是一种很强的关联关系. 例子 ...
- libevent(四)event_base 2
接上文libevent(三)event_base event_io_map event_list是双向链表,min_heap是小根堆,那event_io_map是什么呢? #ifdef WIN32 # ...
- libevent(五)使用例子
客户端: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/t ...
- JVM之类加载器、加载过程及双亲委派机制
JVM 的生命周期 虚拟机的启动 Java 虚拟机的启动是通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实 ...
- 【Redis】跳跃表原理分析与基本代码实现(java)
最近开始看Redis设计原理,碰到一个从未遇见的数据结构:跳跃表(skiplist).于是花时间学习了跳表的原理,并用java对其实现. 主要参考以下两本书: <Redis设计与实现>跳表 ...
- zabbix 告警信息与恢复信息
名称: Action-Email 默认接收人: 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障! 默认信息: 告警主机:{HOSTNAME ...
- hex文件格式总结
hex文件格式总结 文章目录 hex文件格式总结 什么是hex文件? 文件格式 指令类型(Record type) 校验和 :04 02B0 00 92020008 AE :04 0000 05 08 ...
- Arrays.binarySearch的返回值
如果查找的值包含在数组中,返回搜索的第一个值的下标: 如果查找的值不在数组中,返回(-插入点-1):插入点即为第一个大于此查找值的元素下标 插入点 为将该值插入数组的那一点:即第一个大于此键的元素下标 ...