首页 > 其他分享 >《练习题010:字符的各种练习(9种)》

《练习题010:字符的各种练习(9种)》

时间:2024-10-28 13:48:24浏览次数:6  
标签:练习题 字符 题目 string 字母 010 字符串 按位 print

------------------------------------【目录】------------------------------------------

01:字符串构成
02:字母识词
03:列表转字符串
04:随机数
05:按位与、或、异或
06:位取反、位移动
07:字符串长度
08:查找字符串
09:列表转字典

------------------------------------------------------------------------------

01:字符串构成

题目 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

程序分析 利用 while 或 for 语句,条件为输入的字符不为 ‘\n’。

string = input("输入字符串:")
alp = 0
num = 0
spa = 0
oth = 0

for i in range(len(string)):
    if string[i].isspace():
        spa += 1
    elif string[i].isdigit():
        num += 1
    elif string[i].isalpha():
        alp += 1
    else:
        oth += 1

print('space:', spa)
print('digit:', num)
print('alpha:', alp)
print('other:', oth)

02:字母识词

题目 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

weekT = {'h': 'thursday', 'u': 'tuesday'}
weekS = {'a': 'saturday', 'u': 'sunday'}
week = {'t': weekT, 's': weekS, 'm': 'monday', 'w': 'wednesday', 'f': 'friday'}

a = week[str(input('请输入第一位字母:')).lower()]

if a == weekT or a == weekS:
    print(a[str(input('请输入第二位字母:')).lower()])
else:
    print(a)

03:列表转字符串

题目 按逗号分隔列表。

L = [1, 2, 3, 4, 5]
print(','.join(str(n) for n in L))

04:随机数

题目 输出一个随机数。

import random

print(random.uniform(10, 20))

05:按位与、或、异或

题目 学习使用按位与 & 。

程序分析 0&0=0; 0&1=0; 1&0=0; 1&1=1。

题目 学习使用按位或 | 。

程序分析 0|0=0; 0|1=1; 1|0=1; 1|1=1

题目 学习使用按位异或 ^ 。

程序分析 0^0=0; 0^1=1; 1^0=1; 1^1=0

a = 0o77
print(a)
b = a & 3
print(b)
b = b & 7
print(b)


a = 0o77
print(a | 3)
print(a | 3 | 7)

a = 0o77
print(a ^ 3)
print(a ^ 3 ^ 7)

06:位取反、位移动

题目 取一个整数a从右端开始的4~7位。

程序分析 可以这样考虑:

(1)先使a右移4位。

(2)设置一个低4位全为1,其余全为0的数。可用(0<<4)

(3)将上面二者进行&运算。

a = int(input('输入一个数字: '))
b = 0
b = ~b
b = b << 4
b = ~b
c = a >> 4
d = c & b

print('a:', bin(a))
print('b:', bin(b))
print('c:', bin(c))
print('d:', bin(d))

07:字符串长度

题目 计算字符串长度。

s='zhangguang10'
print(len(s))

08:查找字符串

题目 查找字符串。

s1 = 'aabbxuebixuebi'
s2 = 'ab'
s3 = 'xue'

print(s1.find(s2))
print(s1.find(s3))

09:列表转字典

题目 列表转换为字典。

i = ['a', 'b']
l = [1, 2]
print (dict(zip(i,l)))

标签:练习题,字符,题目,string,字母,010,字符串,按位,print
From: https://blog.csdn.net/qq_41248260/article/details/143300859

相关文章

  • 《练习题011:阶乘-递归-反向输出-排序-逆序(共9种)》
    《目录》01:阶乘求和02:递归求阶乘03:递归输出04:反向输出05:反向输出II06:设置输出颜色07:算素数08:排序09:逆序列表01:阶乘求和题目求1+2!+3!+…+20!的和。程序分析1+2!+3!+…+20!=1+2(1+3(1+4(…20(1))))res=1foriinrange(20,1,-1):res=i*res+1......
  • 字符串划分方法汇总
    基本的split()方法split()按照指定分隔符将字符串分割成一个列表。如果不指定分隔符,默认使用空格。text="applebananaorange"result=text.split()#默认按空格分割,结果:['apple','banana','orange']​text="apple,banana,orange"result=text.spl......
  • 一文带你搞懂Java字符串
    1.API1.1API概述什么是API?API(ApplicationProgrammingInterface)是应用程序编程接口,它是一组工具、类、方法和规则,使不同的应用程序可以通过接口进行数据交互和操作。API的作用主要是:封装复杂性:提供简单的接口供开发者调用,不需要关心底层实现的细节。提高复用......
  • 字符串谁更快?String vs StringBuilder大比拼
    在Java中处理字符串,String和StringBuilder都是常用的类,它们的区别有点像在厨房里选择不同的工具:String就像是一把只能用一次的纸杯,改一次就得换新的;而StringBuilder就像一只可以反复使用的水杯,随时可以修改。这两个类各有优缺点,咱们一起来看看它们的区别和用法吧。String......
  • 格式化字符串漏洞沉浸式理解
    格式化字符串漏洞总结利用的是2024shctf中的fmt_fmt开启pie放到ida中看看反汇编mian函数无条件循环,根据输入的值不同调用不同的函数show_flag函数这个函数会将dest中的内容打印出来,这里就有格式化字符串漏洞,如果能够修改ptr指针的话就能控制dest的内容,那这样就可以......
  • IT软件部落-Emoji表情字符大全增强你的表达能力-记事本也可以有情感,总有一个您用得上,
    这是手绘的吗?不,它是Emoji表情字符,就是普通的文本,你不相信? ......
  • 刷c语言练习题13(牛客网)
    1、有以下程序12345678#include<iostream>#include<cstdio>usingnamespacestd;intmain(){  intm=0123,n=123;  printf("%o%o\n",m,n);  return0;}程序运行后的输出结果是()A、01230173B、0123173C、123173D、173173答案:C解析:......
  • Linux练习题(四)
    1、 修改系统的主机名为(姓名首字母+学号后两位:如张三学号01,则主机名为zs01)、在VMware虚拟网络配置中设计仅主机模式的网段为192.168.X.0/24网段(X为学号后两位取整),并关闭DHCP。更改虚拟机名称为server01,克隆一台redhat7虚拟机并命名为client01.两台主机的网络模式皆设置为仅主机......
  • P3370 【模板】字符串哈希
    【模板】字符串哈希题目描述如题,给定NNN个字符串(第iii个字符......
  • 字符串
    练习:编写函数把一个数组里所有存储区的内容前后颠倒,假设数组里原有内容是12345,颠倒后的内容是54321#if1/**数组内容颠倒***/#include<stdio.h>int*func(int*p_num,intsize){ int*p_start=p_num,*p_end=p_num+size-1; inttmp=0; while(p_sta......