python 字符串 练习

文章讲述了如何根据用户输入的三个数字a、b和c在Python中生成等比或等差数列,并使用字符串格式化输出特定格式的数字。涉及的知识点包括列表操作、字符串连接以及转义字符的使用。

题目:

获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为前后相邻数的比值,c为数列长度,产生一个等比数列,将这个数列以逗号分隔的形式输出,最后一个元素输出后无逗号

解答:等比数列 碎碎念:垃圾数学 通项公式忘了,就手推一遍找规律,之后就借助计算机强大的计算功能帮助你计算吧!

a, b, c = eval(input())  # input() 返回字符串类型,数据之间的计算要用数字类型
ls = []
for i in range(c):
	ls.append(str(a*(b**i)))  # 将计算结果 转换成字符串类型,追加到ls列表中
print(','.join(ls))

举一反三:等差数列

a, b, c = eval(input())
ls = []
for i in range(c):
	ls.append(str(a+b*i))
print(','.join(ls))


知识回顾:

str.join(iter)
字符串的分割
iter中的每个元素都为字符串类型
(如果 iter中存在任何非字符串值包括 bytes 对象则会引发 TypeError。)
str分割每个元素组成一个新的字符串返回

题目:

获得用户输入的数字,格式化输出:以30字符宽度,十六进制,居中输出,字母小写,多余字符双引号填充

num = eval(input())
print("{:\"^30x}".format(num))

知识回顾

\ 转义字符python中的转义符\反斜杠
print("\"")直接打印输出",第二个双引号不会被当作print中的字符边界,而是作为字符"
\n:换行
\r:光标回到行首
\t:制表符
\b:退格

### Python 字符串操作练习题及相关示例代码 #### 字符串反转 字符串可以通过切片的方式轻松实现反转。这不仅简单而且效率高。 ```python def reverse_string(s): return s[::-1] ``` 此函数接收一个字符串 `s` 并返回其逆序版本[^1]。 #### 字符统计 对于给定的字符串,计算其中各个字符的数量是一个常见的需求。可以利用字典来记录每个字符出现次数。 ```python from collections import Counter def count_characters(s): return dict(Counter(s)) ``` 上述方法借助了 `collections.Counter` 来简化计数过程。 #### 判断回文 检查一个字符串是否为回文(即正读反读都一样),可通过比较原字符串与其反转后的形式完成。 ```python def is_palindrome(s): cleaned_s = ''.join(ch.lower() for ch in s if ch.isalnum()) return cleaned_s == cleaned_s[::-1] ``` 这里先清理掉非字母数字字符并统一大小写后再做对比。 #### 替换指定字符 有时需要将特定子串替换成其他内容,在Python里可以直接调用内置replace方法来做这件事。 ```python def replace_substring(original, old, new): return original.replace(old, new) ``` 这段简单的函数实现了基本的字符串替换功能。 #### 前缀后缀检查 要验证某个字符串是否有特定前缀或后缀,可分别使用startswith和endswith这两个非常方便的方法。 ```python def check_prefix_suffix(s, prefix=None, suffix=None): has_prefix = s.startswith(prefix) if prefix else None has_suffix = s.endswith(suffix) if suffix else None return {"prefix": has_prefix, "suffix": has_suffix} ``` 该函数允许同时测试前缀和/或后缀的存在情况。 #### 根据标点符号分割字符串 当面对包含多种分隔符的情况时,可以根据具体的需求调整split参数或者采用更复杂的解析逻辑。 ```python import re def split_by_punctuation(text): pattern = r'[,.!?]' result = re.split(pattern, text.strip()) filtered_result = list(filter(None, (item.strip() for item in result))) return filtered_result ``` 这个例子展示了如何基于多个可能作为句子结束标志的标点符号来进行有效的文本划分[^2]。 #### 二进制转十进制 处理不同进制之间的转换也是编程学习的一部分,特别是涉及到计算机底层原理的时候。 ```python binary_str = '101' decimal_value = int(binary_str, base=2) print(f'Binary {binary_str} to decimal is {decimal_value}') ``` 上面的例子说明了怎样把代表二进制数值的字符串转化为对应的整型值[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值