为什么会出现这种结果

2024-06-23 19:28:29 发布

您现在位置:Python中文网/ 问答频道 /正文

playerlevel = 1
playerattack = 10
playerhealth = 100
playerexp = 0

print (playerlevel)
answer = input('have you played before? yes or no: ')
if answer == 'yes':
    level = input('what was your level: ')
    playerlevel *= level
    playerattack *= level
playerhealth *= level
else:
    pass

print ("player level: %s" % playerlevel)
print ("player health: %s" % playerhealth)
print ("player attack: %s" % playerattack)
print ("player exp: %s" % playerexp)

当我运行这个程序时,它会运行玩家级别,如果级别为2,它会打印2,但其他的会打印->;每人222222222222222。对于它的0


Tags: answeryouinputhave级别levelyesplayer
1条回答
网友
1楼 · 发布于 2024-06-23 19:28:29
level = input('what was your level: ')

input返回字符串*。当你把一个字符串乘以一个整数时,你会让这个字符串重复那么多次。例如,"2" * 3就是"222"

如果您想要实际的数字乘法,请在使用前将级别转换为整数

level = int(input('what was your level: '))

*仅适用于Python 3.Xinput可以返回2.7及更低版本中的其他类型,但在这些版本中应该使用raw_input

相关问题 更多 >

    热门问题