zoukankan      html  css  js  c++  java
  • 2、字符串和数据类型

    1、现在有字符串:str1 = 'python cainiao 666'

        1、请找出第 5 个字符。  

        2、请复制一份字符串,保存为 str_two

        3、请找出最中间的字符。(字符串长度是偶数。)

        4,   选做:可以尝试字符串长度不确定的情况。(涉及到后面内容,不需要提交)

    2、卖橘子的计算器:写一段代码,提示用户输入橘子的价格,和重量,最后计算出应该支付的金额!(不需要校验数据,都传入数字就可以了。)

    3.演练字符串操作

    my_hobby = "Never stop learning!"

    • 截取从 位置2 ~ 位置6 的字符串

    • 截取从 位置2 ~ 末尾 的字符串

    • 截取从 开始位置~ 位置6 的字符串

    • 截取完整的字符串

    • 从 索引3 开始,每2个字符中取一个字符

    • 从右边开始截取,倒数第 2位置 到 倒数 5位置,步长为2

    • 截取字符串末尾两个字符

    • 字符串的逆序

    说明:“位置”指的是字符所处的位置(比如位置1,指的是第一个字符“N”),“索引”指的是字符的索引值(比如索引0, 代表的是第一个字符“N”)

    """1、现在有字符串:str1 = 'python cainiao 666'
    1、请找出第 5 个字符。
    2、请复制一份字符串,保存为 str_two
    3、请找出最中间的字符。(字符串长度是偶数。)
    4, 选做:有基础的同学可以尝试字符串长度不确定的情况。(涉及到后面内容,不需要提交)"""
    # 解答:
    # TODO:1.请找出第 5 个字符。
    str1 = 'python cainiao 666'
    # 1)索引正取
    print("请找出第 5 个字符方式1:", str1[4])
    # 2)索引反取
    print("请找出第 5 个字符方式2:", str1[-14])
    # 3)切片正取
    print("请找出第 5 个字符方式3:", str1[4:5])
    # 4)切片反取
    print("请找出第 5 个字符方式4:", str1[-14:-15:-1])

    # TODO:2、请复制一份字符串,保存为 str_two
    name = 'python cainiao 666'
    """ 索引/切片复制,是最常用的复制方式"""
    # 1)赋值
    str_two = name
    print("复制字符串,赋值得到 :", str_two)
    # 2)切片省略
    str_two1 = name[:]
    print("复制字符串,切片省略获取 :", str_two1)
    # 3)跳级
    str_two2 = name[::1]
    print("复制字符串,切片跳级获取 :", str_two2)
    # 4)切片越界
    str_two3 = name[:1000]
    print("复制字符串,切片越界获取 :", str_two3)

    # TODO:3、请找出最中间的字符。(字符串长度是偶数。)
    str1 = 'python cainiao 666'
    # print(len(str1)) # 获取字符串长度
    a = len(str1) # 长度赋值给变量
    # 使用切片获取
    print("打印中间的字符方式1:", str1[int(a / 2 - 1):int(a / 2 + 1)]) # 索引正取

    print("打印中间的字符方式2:", str1[-int(a / 2 + 1):-int(a / 2 - 1)]) # 索引反取

    # 使用索引获取
    # middle = int(len(str1)/2)
    # print(str1[middle-1])
    # print(str1[middle])

    # TODO:4, 选做:有基础的同学可以尝试字符串长度不确定的情况。(涉及到后面内容,不需要提交)
    a = input("请输入一个字符串:")
    b = len(a)
    if (b % 2) == 0: # 对长度取余,不等于0表示长度为奇数,等于0,表示长度为偶数 # TODO 这里和0作比较,整除了是偶数,不能整除是奇数
    # print(a[int(b / 2 - 1):int(b / 2 + 1)]) # 因为切片取左不取右,右边需要加1
    print("长度是偶数时中间字符串是:{}".format(a[int(b / 2 - 1):int(b / 2 + 1)]))
    else:
    # print(a[int(b // 2):int(b // 2 + 1)]) # 此处的意思就是取中间那位,因为索引值始终比元素位置少1
    print("长度是奇数时中间字符串是:{}".format(a[int(b // 2):int(b // 2 + 1)]))


    """
    除法 /
    整除 // 取商的数值
    取余 % 取余数
    取中间元素:
    1)当长度是偶数时,取的位置是长度/2和长度/2+1,对应的元素的索引值为长度/2-1和长度/2
    2)当长度是奇数时,取的位置是长度//2取其商+1,对应的元素索引值为长度//2取其商
    e.g:1234取的位置是第2、第3位,取的元素索引值为1、2
    12345 取的位置是第3位,取的元素索引值为2
    """

    # TODO:2、卖橘子的计算器:写一段代码,提示用户输入橘子的价格,和重量,最后计算出应该支付的金额!(不需要校验数据,都传入数字就可以了。)
    # input输入为str类型,计算支持int类型,需int()转换,格式化输出
    print()
    price = input("请输入橘子的价格:")
    weight = input("请输入橘子的重量:")
    cost = int(price) * int(weight) # 字符串不支持相乘,需转换为int类型
    print("橘子价格{},您一共买了{}橘子,您需支付{}".format(price, weight, cost))

    # 此处最好使用float,因为价格、重量都可能是浮点数

    # TODO:3.演练字符串操作my_hobby = "Never stop learning!"
    # 说明:“位置”指的是字符所处的位置(比如位置1,指的是第一个字符“N”),“索引”指的是字符的索引值(比如索引0, 代表的是第一个字符“N”)
    my_hobby = "Never stop learning!"
    print(len(my_hobby))
    # 1)截取从 位置2 ~ 位置6 的字符串
    print("截取从 位置2 ~ 位置6 的字符串方式1:", my_hobby[1:6])
    print("截取从 位置2 ~ 位置6 的字符串方式2:", my_hobby[-19:-14])
    # 2)截取从 位置2 ~ 末尾 的字符串
    print("截取从 位置2 ~ 末尾 的字符串方式1:", my_hobby[1:])
    print("截取从 位置2 ~ 末尾 的字符串方式2:", my_hobby[-19:-1])
    # 3)截取从 开始位置~ 位置6 的字符串
    print("截取从 开始位置~ 位置6 的字符串方式1:", my_hobby[:6])
    print("截取从 开始位置~ 位置6 的字符串方式2:", my_hobby[-20:-14])
    # 4)截取完整的字符串
    print("截取完整的字符串方式1:", my_hobby[:])
    print("截取完整的字符串方式2:", my_hobby[::1])
    print("截取完整的字符串方式3:", my_hobby[:1000])
    print("截取完整的字符串方式4:", my_hobby[-20:])
    # 5)从 索引3 开始,每2个字符中取一个字符
    print("从 索引3 开始,每2个字符中取一个字符:", my_hobby[3::2])
    # 6)从右边开始截取,倒数第 2位置 到 倒数 5位置,步长为2,注意这里不是-5,是-6
    print("从右边开始截取,倒数第 2位置 到 倒数 5位置,步长为2:", my_hobby[-2:-6:-2])
    # 7)截取字符串末尾两个字符
    print("截取字符串末尾两个字符方式1:", my_hobby[18:])
    print("截取字符串末尾两个字符方式2:", my_hobby[-2:])
    # 8)字符串的逆序字符串的逆序
    print("字符串的逆序方式1:", my_hobby[::-1])
    print("字符串的逆序方式2:", my_hobby[-1::-1])

    """4, 总结本节课内容,画出思维导图或者笔记详情。(这节课非常重要,务必进行总结)"""
  • 相关阅读:
    FontAwesome动态旋转图标类(fa-spin&fa-pulse)
    心得体悟帖---200401(录课异常状态可以试讲,且一定试讲,然后等到好状态一举拿下)
    心得体悟帖---200401(别身在福中不知福,现在是多好的时机,做自己开心的事情)
    心得体悟帖---200401(你做任何事情,抉择和责任都在自己,而不是在别人)
    laravel疑难问题---4、phpstorm中如何配置phpunit(单元测试)
    phpstorm常用配置和快捷键
    phpstorm常用操作---5、phpstorm配置命令行环境
    phpstorm常用操作---4、phpstorm配置phpunit环境
    phpstorm常用操作---3、phpstorm修改默认快捷键
    phpstorm常用操作---2、phpstorm特别常用快捷键
  • 原文地址:https://www.cnblogs.com/little-lucky/p/12983496.html
Copyright © 2011-2022 走看看