python - 生成两个字符域名 az 0-9 时使用运算符时遇到问题
问题描述
如果可能的话,我想就我在回答这个问题上所缺少的内容获得建议。
预期的输出是 aa,ab,ac,...a8,a9,一直到 zz,z1,...,z8,z9 它到达 a8,a9 然后为第一个内部循环拉取错误
这是我的计算机科学课。我得到了一个生成 aa、ab、ac、... zy、zz 的代码。我需要在第二个字符的“z”之后添加 0-9,并且在使用 str 和 int 运算符时遇到了麻烦:
print('Two-letter domain names:')
letter1 = 'a'
letter2 = '?'
while letter1 <= 'z': # Outer loop
letter2 = 'a'
while letter2 <= 'z': # Inner loop | TypeError: '<=' not supported between instances of 'int' and 'str'
print('{}{}.com'.format(letter1, letter2))
letter2 = chr(ord(letter2) + 1)
while letter2 == '{': # My bit
letter2 = 0
for letter2 in range(10):
print('{}{}.com'.format(letter1, letter2))
letter2 = letter2 + 1
letter1 = chr(ord(letter1) + 1)
letter2 = chr(ord(letter2) + 1)# TypeError: ord() expected string of length 1, but int found
letter2 = chr((letter2) + 1)# Infinite loop
letter2 = chr(letter2) + 1# TypeError: can only concatenate str (not "int") to str | makes it to a0
if letter2 == '9':
letter2 = chr(letter2)# Does nothing
我在这上面花了几个小时,经过搜索,只找到了类似 TypeError 的答案,说要在输入中添加“int()”,但我自己没有运气。
解决方案
我之前也遇到过同样的问题,要解决这个问题,请添加一对额外的括号。像这样:letter2 = chr(**(**ord(letter2)**)** + 1)
推荐阅读
- java - stat返回`没有这样的文件或目录`,在java exec下运行
- python - 使用python中的请求直接获取部分的src代码
- java - 如何减少java中的RAM使用?
- javascript - 如何通过javascript获取下级列表
- amazon-web-services - AWS ElasticSearch 访问被拒绝
- node.js - 无法将图像缓冲区转换为 base64 字符串
- php - 从 $sql 获取所有绑定
- android - 如何在 Android Studio 上使用 QR rawValue 保存 vCARD?
- git - Windows 终端中的 Git Bash 在单独的窗口中打开
- r - 使用 CI 设置 lintr