鱼C论坛

 找回密码
 立即注册
查看: 40|回复: 2

[已解决]python相关,这串代码为何跑不了

[复制链接]
发表于 昨天 21:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
s = input("请输入字符串:")
for i in range(len(s)-1):
    if i % 2 == 0:
        _ = ord('i')
    else:
        if _ + int(s[i]) > 122:
            _ = _ + int(s[i]) - 22
            s = s[:i] + chr(_) + s[i+1:]
print(s)
         
最佳答案
昨天 22:09
这要看你输入的内容是什么了,int(s[i]) 如果输入的是 "FishC",就会报错,因为 int(s[i]) 无法转换;如果输入的是 "123",就没问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 昨天 21:33 | 显示全部楼层
这段代码的问题主要在于以下几点:

1. **变量 `_` 的使用**:在 Python 中,单个下划线通常用于表示临时或不重要的变量名,但在这里,使用下划线一直作为变量名会导致混淆。此外,Python 并不建议直接使用下划线作为变量名。

2. **类型转换错误**:在 `if _ + int(s) > 122:` 这一行,你尝试将 `s` 转换为整数。然而,`input()` 函数接受的输入是字符串,如果输入的字符串无法转成整数(比如输入了字母),`int(s)` 就会抛出错误。

3. **逻辑错误**:`s = s + chr(_) + s` 这段逻辑会不断地将新的字符拼接到原有的字符串 `s` 上,导致字符串长度不断变化,不好控制循环和计算。

以下是一些避免错误的建议:

- 确保输入的字符串适当地只包含数字或可转换成浮点数。
- 在使用变量时,避免使用下划线作为主要变量名称。

我不知道你的代码的意图是什么,所以建议你先确认这段代码的功能,然后再进行进一步的修改。如果你有关于代码目的或希望实现的目标的更多信息,可以提供更多细节。这样可以更好地帮助你解决特定的问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 22:09 | 显示全部楼层    本楼为最佳答案   
这要看你输入的内容是什么了,int(s[i]) 如果输入的是 "FishC",就会报错,因为 int(s[i]) 无法转换;如果输入的是 "123",就没问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 18:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表