我需要在一个范围内循环用户输入(包含字母,数字和包括空格的其他常规字符的常规文本消息),例如:
我的范围从位置(或索引)3读取3个字符:
-m
只是控制台的switch
所以它知道它是一条短信,所以我想忽略-m +跟随空格并开始从H开始考虑字符串及其大小。所以字符串大小为12(5 + 1 + 6)。
我的尝试:
message = "-m Hello World!"
fragSize = 3
fragCount =0
start = 0
end = fragSize
if message.startswith('-m '):
message = message[3:] #separates -m from the message
for index in range(1, len(message)):
print('index[start:end]')
start = end
end += fragSize
消息:
-m Hello world!
输出应为:
Hel
lo_ (_ is a whitespace)
wor
ld!
答案 0 :(得分:-1)
您可以将切片<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="css/style.css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" />
</head>
<body>
<div>
<div class="content">
<form action="#" th:action="@{/login}" th:object="${user}" method="post">
<div class="panel panel-default">
<br />
<h1 class="panel-title header-tab">
Login or <a href="/signup.html">Sign Up Here</a>
</h1>
<br />
<div class="panel-body">
<div class="form-group">
<label for="inputEmail" class="control-label col-xs-5">Username
or Email</label>
<div class="col-xs-7">
<input type="text" class="form-control" id="inputUsername" th:field="*{userName}" placeholder="Username or Email" />
</div>
</div>
<br/><br/>
<div class="form-group">
<label for="inputPassword" class="control-label col-xs-5">Password</label>
<div class="col-xs-7">
<input type="password" class="form-control" id="inputPassword" th:field="*{password}" placeholder="Password" />
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-5 col-xs-10">
<div class="checkbox">
<label><input type="checkbox" />Remember Me</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-5 col-xs-7 btn-lg">
<input type="submit" value="Sign In" class="btn btn-primary btn-block"/>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</body>
</html>
与[i:i+3]
循环一起使用来创建
for
您可以使用text = 'Hello world!'
data = [text[i:i+3] for i in range(0, len(text), 3)]
print(data)
['Hel', 'lo ', 'wor', 'ld!']
将其打印为
'\n'.join(data)
您可以使用Hel
lo_ (_ is a whitespace)
wor
ld!
-m
startswith()
答案 1 :(得分:-1)
看一下argparse模块(最后引用),用于从控制台解析输入参数。
以下是您可以完全使用的代码段,而不必担心剪切输入参数switch
。
import argparse
parser = argparse.ArgumentParser(description="Process message")
parser.add_argument('-m', dest='msg', type=str, help="Enter a message", required=True)
args = parser.parse_args()
x = args.msg
for p in range(0,len(x),3):
snip = x[p:p+3]
snip = snip.replace(' ', '_')
print(snip)
您可以使用这些命令来运行该程序 cd到保存文件的目录。
这将显示帮助文本
python filename.py -h
这将运行程序
python filename.py -m "Hello World!"
的文档链接
答案 2 :(得分:-1)
message = '-m Hello world!'
if message.startswith('-m '):
message = message[3:]
while message!= '':
print message[:3]
message = message[3:]
赫尔
罗
WOR
LD!