You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python作业:字符串中点与取整相关代码问题求助

修复你的字符串处理代码问题

嘿,我看了你的代码,问题主要出在midpoint计算、字符串截取和标签拼接这几个步骤上,我帮你一步步修正过来:

先说说现有代码里的问题点:

  • midpoint = (string_length/2):普通除法/会得到浮点数(比如长度5的话会得到2.5),但我们需要向下取整的整数索引,得用整数除法//
  • first_half= (midpoint):你直接把数值赋值给了first_half,而不是从user_input里截取前半部分字符串
  • tagged_input= print ((tag) + (midpoint) + "/" + (tag)):这里犯了两个错,一是print函数返回None,不能赋值给变量;二是拼接格式完全不对,应该是<标签>内容</标签>的结构,而且不能直接把数值和字符串拼接

修正后的完整代码:

user_input = input("Please enter something: ")
string_length = len(user_input)
even_check = string_length % 2
if even_check > 0:
    print(f"The length is {string_length} characters long and is odd.")
else:
    print(f"Your length is {string_length} characters long and is even.")

tag = input("Input one of the following: h1, div or article: ")
# 用整数除法//向下取整得到midpoint
midpoint = string_length // 2
# 用字符串切片截取前半部分
first_half = user_input[:midpoint]
# 按要求格式拼接标签和内容
tagged_input = f"<{tag}>{first_half}</{tag}>"
# 打印最终结果
print(tagged_input)

关键修改说明:

  1. midpoint计算:用string_length // 2代替/,确保得到整数(比如长度5时得到2,长度4时得到2),符合“向下取整”的要求
  2. 截取前半部分:user_input[:midpoint]是Python字符串切片的用法,意思是从开头取到midpoint位置(不包含midpoint索引),正好是前半部分
  3. 标签拼接:用f-string格式化字符串,既简洁又保证格式正确,得到<tag>first_half</tag>的结构,然后单独打印tagged_input,而不是把print的结果赋值给它

举个例子,如果用户输入HelloWorld(长度10,偶数),然后输入h1,输出会是:

Your length is 10 characters long and is even.
<h1>Hello</h1>

内容的提问来源于stack exchange,提问作者mr.v

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:29:14