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

Python新手求助:输入赋值变量时if/else脚本语法错误排查

帮你解决Python if/else脚本的语法问题

嘿,我来帮你排查下问题所在!作为Python新手,遇到这种小坑很正常,咱们一步步来:

1. 输入类型不匹配(最核心的问题)

input()函数获取用户输入后,返回的是字符串类型,而你直接拿它和整数(比如0、12)做比较,Python会因为类型不兼容报错。你需要先把输入转换成整数:

hour = int(input('enter an hour'))

2. 代码缩进错误

Python是靠缩进区分代码块的,你的if/elif后面的代码块没有正确缩进,这会直接导致语法错误。正确的写法是在if/elif语句结尾加冒号后,下一行缩进4个空格(或者一个制表符)。

3. 变量赋值的小细节

你写的clock = hour, 'pm'会创建一个元组(比如(9, 'pm')),如果你的目标是生成类似"9 pm"这样的字符串,应该改成字符串拼接的方式,比如用f-string:

clock = f"{hour} pm"

另外,还有个小逻辑问题:上午的时间应该对应am而不是pm哦!

修正后的完整示例代码

# 先把输入转成整数
hour = int(input('enter an hour: '))

if hour >= 0 and hour < 12:
    # 上午时间用am
    clock = f"{hour} am"
elif hour >= 12 and hour <= 23:
    # 12点是中午pm,13点及以后转成12小时制
    if hour == 12:
        clock = "12 pm"
    else:
        clock = f"{hour - 12} pm"
else:
    # 处理无效输入
    print("请输入0到23之间的有效小时数!")
    exit()

# 输出结果
print(clock)

内容的提问来源于stack exchange,提问作者Matthew Webster

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:08:04