首页 > 其他分享 >day 05-4 数据类型(字符串)

day 05-4 数据类型(字符串)

时间:2024-03-06 16:46:01浏览次数:28  
标签:name 05 list 数据类型 v1 v2 print data day

4.6字符串独有功能练习题

# 1.写代码实现判断用户输入的值否以"al"开头,如果是则输出"是的",否则输出"不是的"

data = input ("请输入您的用户名:")
if data.startswith("al") :
    print("是的")
else :
    print("不是的")
# 2.写代码实现判断用户输入的值否以"ab"结尾,如果是则输出"是的",否则输出"不是的"
data = input("请您输入内容:")
if data.endswith("ab") :
    print("是的")
else :
    print("不是的")
# 3.将name变量对应的值中的所有的"l"替换为"p",并输出结果
data = "ghjklmlop"
new_name = data.replace("l","p")
print (new_name)
# 4.写代码实现对用户输入的值判断,是否为整数,如果是则转换为整型并输入,否则直接输出"请输入数字”
center = input("请输入您的内容:")
if center.isdecimal():
    center = int(center)
    print(center)
else :
    print("请输入数字")
# 5.对用户输入的数据使用”+"切割,判断输入的值是否都是数字?
# 提示:用户输入的格式必须是以下+连接的格式,如5+9、alex+999
data = input("请输入您的内容:")
num_data = data.split("+")
if num_data[0].isdecimal() and num_data[1].isdecimal:
    print("都是整数")
else :
    print("不全是整数")
# 6.写代码实现一个整数加法计算器(两个数相加)
# 需求:提示用户输入:5+9或15+9或5+29,计算出两个值的和(提示:先分割再转换为整型,再相加)
data = input("请输入内容:")
num_list = data.split("+") # ["5", "9"]
v1 = num_list[0]
v2 = num_list[1]
result = int(v1) + int(v2)
print(result)

# 7.写代码实现一个整数加法计算器(两个数相加)
# 需求:提示用户输入: 5 + 9或15  + 9 或  5+ 9,计算出两个值的和(提示:先分割再去除空白、再转换为整型再相加)
# 方法一
data = input("请输入您的内容:")
num_data = data.strip()
num_data = num_data.split("+")
v1 = num_data[0]
v2 = num_data[1]
result = int(v1) + int(v2)
print (result)
# 方法二
data = input("请输入您的内容:")
num_list = data.split("+")
v1 = int(num_list[0].strip())
v2 = int(num_list[1].strip())
result = v1 + v2
print (result)

# 8.补充代码实现用户名认证,需求:提示用户名输入手机号、验证码,全部验证通过后才能算登录成功

import random # import random 是一个导入语句,它的作用是引入Python标准库中的random 模块,这个模块提供了生成各种类型随机数的功能

code = random.randrange(1000,9999) # 生成一个1000-9999的动态验证码,是一个整型
# code = str(code) 可以转换成字符串直接和number进行比较
msg = "欢迎登录pythonAV系统,您的验证码为:{},手机号为:{}".format(code,"17817887894")
print(msg)

phone = input ("请输入您的手机号:")
number = input ("请输入您验证码:") # 是一个字符串
if phone == "17817887894" and  code == int(number) :
    print ("登录成功")
else :
    print("手机号或验证码错误,请重新输入")
   

# 提示用户名输入手机号、验证码,全部验证通过后才能算登录成功(验证码大小写不敏感)
import random  # import random 是一个导入语句,它的作用是引入Python标准库中的random 模块,这个模块提供了生成各种类型随机数的功能

code = random.randrange(1000, 9999)  
code = str(code) 
msg = "欢迎登录pythonAV系统,您的验证码为:{},手机号为:{}".format(code, "17817887894")
print(msg)

phone = input("请输入您的手机号:")
data = input("请输入您验证码:")  # 是一个字符串
if code.upper() == data.upper() and phone == "17817887894" :
    print("登录成功")
else:
    print("手机号或验证码错误,请重新输入")

# 9.补充代码实现数据拼接
data_list = []
while True :
    hobby = input ("请输入您的爱好(Q/q退出):")
    if hobby.upper() == "Q":
        break
    # 把输入的值添加到data_list中,如:data_list = ["篮球","羽毛球"]
    data_list.append(hobby)
    # 将所有的爱好通过符号"、"拼接起来
    
# 答案示例
data_list = []
while True :
    hobby = input ("请输入您的爱好(Q/q退出):")
    if hobby.upper() == "Q":
        break
    # 把输入的值添加到data_list中,如:data_list = ["篮球","羽毛球"]
    data_list.append(hobby)
    # 将所有的爱好通过符号"、"拼接起来
    
result = "、".join(data_list)
print(result)

4.7 字符串其他部分练习题

1、请使用代码实现如下进制的转换

v1 = 675 # 请将V1转换成二进制(字符串类型)
v2="0b11000101" #请将二进制v2转换为十进制(整型)
v3="11000101"  #请将二进制v3转换为十进制(整型)
# 答案
# v1 = 675 # 请将V1转换成二进制(字符串类型)
v1 = 675
data = bin(v1)
print (data) # 0b1010100011

# v2="0b11000101" #请将二进制v2转换为十进制(整型)
v2="0b11000101"
data1 = int(v2,base=2)
print (data1) # 197

# v3="11000101"  #请将二进制v3转换为十进制(整型)
v3="11000101"
data2 = int(v3,base=2)
print (data2) # 197

2.按要求实现

现有v1=123和v2=456,请将这两个值转换为二进制,并将其二进制中的前缀0b去掉,然后将两个二进制拼接起来,最终再转换为整型(十进制)。
例如:
123对应二进制为"0b1111011”,去除前缀0b之后的二进制为"1111011"
456对应二进制为"0b111001000”,去除前缀0b之后的二进制为"111001000"
将两个二进制拼接起来的值为:“1111011111001000",再将此值转换为整型为:63432
# 参考答案
v1 = 123
v1 = bin(v1)
v2 = 456
v2 = bin(v2)

data1 = v1[2:] # 1111011
data2 = v2[2:] # 111001000

data = data1 + data2 # 1111011111001000
data = int(data,base=2)
print (data) #63432

# 参考答案
v1 = 123
v2 = 456
data = bin(v1)[2:] + bin(v2)[2:]
result = int(data,base=2)
print (result) # 63432

3.按要求实现

现有v1=123和v2=456,请将这两个值转换为二进制,并将其二进制中的前缀0b去掉,再补足为2个字节(16位),然后将两个二进制拼接起来,最终再转换为整型(十进制)。
例如:
123对应二进制为0b1111011”,去除前缀0b之后的二进制为"1111011”,补足16位为"00000000000001111011"
456对应二进制为"0b11100100”,去除前缀0b之后的二进制为"11100100”,,补足16位为"00000000000111001000"
将两个二进制拼接起来的值为:"0000000000000111101100000000000111001000”,再将此值转换为整型为:8061156
v1=123
v2=456
v1 = bin(v1)[2:] #1111011
v2 = bin(v2)[2:] #111001000
v1 = v1.rjust(16,"0") # 0000000001111011
v2 = v2.rjust(16,"0") # 0000000111001000
# v1 = v1.zfill(16) # zfill 自动填充0

data = v1+v2
data = int(data,base=2)
print (data) # 8061384

v1=123
v2=456
data = bin(v1)[2:].zfill(16) + bin(v2)[2:].zfill(16)
data = int(data,base=2)
print (data) # 8061384

4.列举你了解的那些数据类型的值转换为布尔值为False。

空值和0

5.看代码写结果:

if "":
    print(123)
else:
    print(456) #456

if " ":
    print(123)
else:
    print(456) #456

if 0:
    print(999)
else:
    print(666) #456

if "linzai":
    print(345)
else:
    print(110) #456

6.让 用户输入一段文字,请实现将文本中的敏感词“老师”替换成**,并输出替换后的文本

v1 = input("请输入您的内容:")
data = v1.replace("老师","**")
print (data)

7.有变量name = " lin zai "完成如下操作:

name = " lin za i "
# 移除name变量对应的值两边的空格,并输出处理结果
name1 = name.strip()
print (name1) #lin za i

# 判断name变量是否以"al"开头,并输出结果(用切片或startswith实现)
print (name.startswith("al"))  # False
print (name[0:2] == "al") # False

# 判断name变量是否以"ai"结尾,并输出结果(用切片或endswith实现)
print (name.endswith("ai")) # False
print (name[-2:] == "ai") # False

# 将name变量对应的值中的所有的"i"替换为"p",并输出结果
print(name.replace("i","p")) #  lpn za p

# 将name变量对应的值根据所有的"i"分割,并输出结果
print (name.split("i")) # [' l', 'n za ', ' ']


# 将name变量对应的值根据第一个"l"分割,并输出结果
print (name.split("i",1)) # [' l', 'n za i ']

# 将name变量对应的值变大写,并输出结果
print(name.upper()) # LIN ZA I 

# 将name变量对应的值变小写,并输出结果
print(name.lower())  # lin za i 

8.如何实现字符串的翻转?

name = "linzai"
name = name[::-1]
print (name) # iaznil

9.有字符串s="123a4b5c"

# 9.有字符串s="123a4b5c"
# - 通过对s切片形成新的字符串"123"
s = "123a4b5c"
print(s[:3]) # 123

# - 通过对s切片形成新的字符串"a4b"
print(s[3:6]) # a4b

# - 通过对s切片形成字符串"C"
print(s[7:]) # c
print(s[-1:])
print(s[len(s)-1])

# - 通过对s切片形成字符串"ba2"
print(s[-3:-8:-2])
print(s[-3:0:-2])

10.使用while循环实现对字符串message="伤情最是晚凉天,憔悴厮人不堪言"中每个字符进行输出。

message="伤情最是晚凉天,憔悴厮人不堪言"
data = len(message) -1
while data >= 0:
    value = message[data]
    print(value)
    data -= 1
    
# 方法二
message = "伤情最是晚凉天,憔悴厮人不堪言"
number = 0
while number < len(message) :
    print (message[number])
    number += 1

11.使用for循环实现对字符串message="伤情最是晚凉天,憔悴厮人不堪言"中每个字符进行输出。

message="伤情最是晚凉天,憔悴厮人不堪言"
for char in message:
    print(char)

message="伤情最是晚凉天,憔悴厮人不堪言"
for num in message:
	print(num)

12.使用for循环和range实现对字符串message="伤情最是晚凉天,憔悴厮人不堪言"中每个字符进行倒叙输出。

message="伤情最是晚凉天,憔悴厮人不堪言"
for num in range(len(message)):
    print(message[num])

13.使用for循环实现输出倒计时效果,例如:输出内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒"。

for num in range(3,0,-1):
    text = "倒计时{}秒".format(num)
    print (text)

14.让用户输入一段文本,请计算文本中“浪”出现的次数,并输入结果。

text = input ("请输入您的内容:")
count = 0
for lin in text:
    if lin == "浪" :
        count += 1
print (count)

15.获取用户两次输入的内容,并提取其中的数字,然后实现数字的相加(转换为整型再相加):

"""
要求:
	将num1中的的所有数字找到并拼接起来:1232312
	将num1中的的所有数字找到并拼接起来:1218323
	然后将两个数字进行相加
"""
num1 = input ("请输入:") # asdfd123sf2312
num2 = input ("请输入:") # a12dfd183sf23
# 请补充代码
# 第一种方式
num1 = input ("请输入:") # asdfd123sf2312
num1_list = []
for i in num1:
    if i.isdecimal():
        num1_list.append(i)
data1 = "".join(num1_list)
print (data1)

num2 = input ("请输入:") # a12dfd183sf23
num2_list = []
for a in num2:
    if a.isdecimal():
        num2_list.append(a)
data2 = "".join(num2_list)
print (data2)

redult = int(data1) +int(data2)
print (redult)  # 2450635

# 第二种方式
num1 = input ("请输入:") # asdfd123sf2312
data = ""
for char in num1 :
    if char.isdecimal():
        data += char
print (data)

标签:name,05,list,数据类型,v1,v2,print,data,day
From: https://www.cnblogs.com/linzaidehouhuayuan/p/18056941

相关文章

  • 代码随想录算法训练营day14 | leetcode 144. 二叉树的前序遍历、145. 二叉树的后序遍
    目录题目链接:144.二叉树的前序遍历-简单题目链接:145.二叉树的后序遍历-简单题目链接:94.二叉树的中序遍历-简单递归三要素:确定递归函数的参数和返回值:确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数,并且还要明确每次递归的返回值是什么进而确定递归......
  • 洛谷题单指南-搜索-P1605 迷宫
    原题链接:https://www.luogu.com.cn/problem/P1605题意解读:从起点走到终点的方案数,DFS可遍历所有情况。解题思路:在DFS过程中,有两种标记墙:不能访问已访问过的,不能重复访问定义数组inta[N][N]表示迷宫,1是墙或者已访问过的,0是可以通过的。100分代码:#include<bits/stdc++.h>......
  • flask_06days
    flask-session#django中session都是放在django-session表中 #flask的session,是加密后放到cookie中了#现在向把session存在服务端--——》不放在cookie中了 -表中:跟djagno默认一样-缓存(redis):性能高#第三方模块:解决了这个问题--》flask-sessio......
  • 01_C++基本数据类型_算数类型
    1.算数类型算数类型主要分为两类——整型和浮点型带符号和无符号类型带符号:int、short、long和longlong,通过在这些类型名前添加unsigned可以得到无符号类型。 选择符号的准则:(1)数值不可能为负时,选择无符号类型。(2)使用int执行整数运算。(3)算数表达式不要使用char或bool,存放字......
  • 小白从零开始学习编程 day1
    1.什么是编程语言编程语言是用于计算机与人沟通的介质2.什么是编程使用编程语言编写出一系列文件3.为什么进行编程通过奴役计算机,解放劳动力4.计算机的五大组成部分1.CPU(1)控制器:用于控制硬件(2)运算器:进行逻辑运算和算数运算2.内存(1)运行速度快(2)断电即......
  • 2024-03-05 NestJs学习日志之新建nest项目,运行启动命令nest start报错:Could not find
    如题,低级错误。具体报错:CouldnotfindTypeScriptconfigurationfile"tsconfig.json".Please,ensurethatyouarerunningthiscommandintheappropriatedirectory(insideNestworkspace)找不到TypeScript配置文件“tsconfig.json”。请确保您在适当的目录(Nest工作......
  • 20240305-日记(补-含0303-0304)
    我今天要是再不补,我这个目标可能就戛然而止了。这三天过得就跟三明治一样,搬家-加班-搬家。虽然想象中能搬到新家,会很开心,但是怎么说呢,还是没有一种很踏实的归属感。而且有时候我说话就是很绝,断自己和他人后路的想法。这几天也不算一点时间都挤不出来,看完了《降世神通3》,《致命游......
  • CMN简述 --20240305
    以下仅是个人对CMN的浅显理解:CMN全称为coherentmeshnetwork,是一种互联技术,通过在系统中设立多个节点之间的互联来实现高性能和可靠性CMN的具体应用:应用于多核之间的cache一致性以上图为例,每个cluster均有片内cache,当CPU对DDR写一个值时,例如向ddr0x100地址写入0x1 当没有......
  • 【环境】24-03-05:CUDA与cuDNN的安装与下载
    CUDA提供通用并行计算平台和编程模型,CUDNN是针对深度学习应用进行优化后的GPU加速库。安装CUDA查看显卡型号和驱动版本(DriverVersion)打开cmd,输入nvidia-smi主要是确认CUDAVersion的版本,这里是12.4,意味着我可以安装12.4及以下任何版本的CUDA下载CUDACUDAToolkitArchive......
  • DW_apb_timers介绍 --20240305
    DW_apb_timers是新思设计的基于APB总线的一个IP DW_apb_timers框图如下:DW_apb_timers特性:1、多达8个可编程定时器;2、定时器宽度可设:8至32位;3、支持两种运行模式:freerunning和user-mode;4、支持定时器的独立计时;5、每个中断可配置极性:低电平(下降沿),高电平(上升沿);6、单个或......