python学习笔记1--字符串

python学习笔记1–字符串

小点总结

1.列表中的元素会被默认为str
即:numbers = [0, 1, 2, 3] numbers[1] > 0是有问题的(不能讲int和 str比较)
2. 可以通过ord()数字对应的ASCll码, 再减去"0"对应的ASCII码得到相应数字。
即:3 = ord(numbers[3]) - ord(“0”)
3. numers.append():在列表末尾添加元素
4. numbers.sort():按ASCLII码值由小到大排序
5. del number[n]: 删除位置为n的元素(注意是从0开始)
6. numbers.reverse():倒序(永久改变)
7. print语句自动换行
如:print(“0”)
print(“1”)
输出的结果是:
0
1
如果不想换行可以print(“0”, end = “”)
8.将一句话划分成单词:

sentence = input("input the sentence")
words = sentence.split(' ')

同样适用于任何其它分隔符
9.letters = list(word)可以直接将word变成一个list, 其中每个元素都是一个字母

代码实现

  1. 判断一句话中是否有正读反读都一样的单词:
sentence = input("input the sentence")
words = sentence.split(' ')#将句子划分成单词存在word中
 
for word in words:
    flag = 0#注意这条语句的位置:若放在循环外当单词符合要求是flag反而是没有定义的
    letters = list(word)#将单词分成字母存在letters中(每次循环letters都会改变)
    n = len(letters)
    for i in range(0, n):
        if leters[i] != leters[n -1 - i]:
            flag = 1
    if flag == 0:
        print(word)

2.用给定的数字输出一个最大数

numbers = []
n = input("how many numbers you want you input:")
m = ord(n) - ord("0") + 1#得到n的值
for i in range(1,m):
    print("input a number")
    number = input()
    numbers.append(number)
    # if ord(numbers[-1]) < ord("0") or ord(numbers[-1]) > ord("9"):
    #     del numbers[-1]
    #     i = i - 1
numbers.sort()
if numbers[-1] == '0':#注意是‘0’
    print("error\n")
else:
    numbers.reverse()
    for number in numbers:
        print(number, end = "")

3.用给定数字输出一个最大数
想法是先进行排序,然后用循环找出仅次于0的最小数,输出,并在列表中删除。此后按列表顺序输出

numbers = []
n = input("how many numbers you want you input:")
m = ord(n) - ord("0") + 1
for i in range(1,m):
    print("input a number")
    number = input()
    numbers.append(number)
numbers.sort()
for i in range(0, m):
    if numbers[i] == '0':
        i = i + 1
    else :
        k = i#0的个数
        break#break语句在py中同样适用

print(numbers[k], end = "")
del numbers[k]
for number in numbers:
    print(number, end = "")

猜你喜欢

转载自blog.csdn.net/XIAOHEwenjue/article/details/83716924
今日推荐