Python语言基础与应用-北京大学-陈斌-P29-28-计算和控制流:控制流:上机:基本计算程序-给定字符串s和数字n,打印把字符串s向右移动n位的新字符串-上机代码

Python语言基础与应用-北京大学-陈斌-P29-28-计算和控制流:控制流:上机:基本计算程序-给定字符串s和数字n,打印把字符串s向右移动n位的新字符串-上机代码

上机代码:

# 输入一个字符串
user_str = input("请输入一个字符串:")
# 计算用户输入字符串的长度
user_str_len = len(user_str)

# 用户输入移动位数user_number,并检测是否越界
user_number = int(input("请输入需要移动的位数:"))
while user_number > user_str_len:
	print("\n您的输入有误,请重新输入。")
	user_number = int(input("请输入需要移动的位数:"))

"""
以下3行是测试区域,可以不写。
print("用户输入的字符串user_str:",user_str)
print("用户输入的字符串长度user_str_len:",user_str_len)
print("用户需要移动的位数user_number:",user_number)
"""

i = -user_number # i 当作 user_str 的下标
j = 0 # j 当作 result_list 的下标

result_list = []

while i != 0:
    result_list.append(user_str[i])
    j += 1
    i += 1

while j < user_str_len:
    result_list.append(user_str[i])
    j += 1
    i += 1
    
"""
以下2行是测试区域,可以不写。
print("result_list")
print(result_list)
"""

# 把列表转换为字符串
result_str = "".join(result_list)
print(result_str)
print(type(result_str))

结果:

>>> %Run move.py
请输入一个字符串:abcd
请输入需要移动的位数:1
dabc
<class 'str'>
>>> 

>>> %Run move.py
请输入一个字符串:mnbol
请输入需要移动的位数:2
olmnb
<class 'str'>
>>> 

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qslife

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值