首页 > 解决方案 > 简单的for循环猜测python中的变量名

问题描述

我是 python 新手(来自 R)并尝试练习 for 循环,所以我提出了这个挑战让计算机猜测name字符串。不幸的是,我把自己难住了。任何人都可以提供帮助吗?

## Guess a name

name = 'Kate'
char = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRZTUVWXYZ'

for k in range(len(name)):
 for i in range(len(char)):
  if name[k] == char[i]:
     print('Your name is ' + char[i])

这给出了以下输出:

Your name is K
Your name is a
Your name is t
Your name is e

但我正在寻找:

Your name is Kate

标签: pythonloopsfor-loopiteratoriteration

解决方案


每次正确猜出一个字符时都会调用 print() 调用。
为了解决这个问题,我会将print("Your name is"...)函数移到 for 循环之外。Python 还有一种方法来改变print()它的行的结束方式。

...
print("Your name is ", end="")
for k in range(len(name)):
 for i in range(len(char)):
  if name[k] == char[i]:
     print(char[i], end="")

推荐阅读