我定义了一个连接用户给出的两个字符串的函数,但是sys.stdin.readline()返回的字符串包含换行符,所以我的输出看起来并不是连贯的(技术上) ,此输出仍然连接,但在两个字符串之间使用" \ n"。)如何摆脱换行符?
<asp:Wizard ID="Wizard1" runat="server" ActiveStepIndex="2"
OnFinishButtonClick="Wizard1_FinishButtonClick"
OnNextButtonClick="Wizard1_NextButtonClick">
<!-- SidebarTemplate -->
<SideBarTemplate>
<!-- control that put on top of the Step List -->
<asp:Image ID="Image1" ImageUrl="IMG/topimage.jpg" ImageAlign="Top" runat="server"
Width="10" Height="10"/>
<!--Step List will auto generated here-->
<asp:DataList ID="SideBarList" runat="server">
<ItemTemplate>
<asp:LinkButton ID="SideBarButton" runat="server"></asp:LinkButton>
</ItemTemplate>
<SelectedItemStyle Font-Bold="True" />
</asp:DataList>
<!-- control that put below the Step List -->
<asp:Label ID="ButtomLabel" runat="server" Text="Label"></asp:Label>
</SideBarTemplate>
<WizardSteps>
<!-- .....WizradSteps here..... -->
</WizardSteps>
控制台:
def concatString(string1, string2):
return (string1 + string2)
str_1 = sys.stdin.readline()
str_2 = sys.stdin.readline()
print( "%s" % concatString(str_1, str_2))
我尝试了读取(n),其中包含n个字符,但它仍然附加了&#34; \ n&#34;
hello
world
hello
world
控制台:
str_1 = sys.stdin.read(5) '''accepts "hello" '''
str_2 = sys.stdin.read(3) '''accepts "\n" and "wo", discards "rld" '''
答案 0 :(得分:1)
您可以将concatString替换为类似的内容:
def concatString(string1, string2):
return (string1 + string2).replace('\n','')
答案 1 :(得分:1)
只需在输入的每个字符串上调用strip即可删除周围的字符。请务必阅读链接的文档,以确保您要对字符串执行哪种 strip 。
print("%s" % concatString(str_1.strip(), str_2.strip()))
修复该行并运行代码:
chicken
beef
chickenbeef
但是,基于您正在接受用户输入的事实,您应该采用更惯用的方法,并使用常用的输入。使用此功能也不需要您执行任何操作来删除不需要的字符。以下是帮助指导您的教程:https://docs.python.org/3/tutorial/inputoutput.html
然后你可以这样做:
str_1 = input()
str_2 = input()
print("%s" % concatString(str_1, str_2))