【发布时间】:2016-11-23 10:13:56
【问题描述】:
print ('welcome, uhhh whats your name?')
name = str(input('tell me here: '))
print ('thats better')
import time
print ('welcome,',name,'this is the forst step on your long journey...')
time.sleep(0.5)
print ('well no, this is just a widget app...')
time.sleep(0.5)
print ('so umm just enter the widget you want')
print (' by the way this will repeat forever sooo, just kill the program when you have had enough')
while True:
wid = str(input('choose from these(CAPS SENSITIVE): dice, usernamegen, '))
import random
if wid == 'dice':
print ('YOU HAVE CHOSEN...')
print ('DICE!')
dice = int(input('how many would you like to roll(MAX3): '))
if dice == 1:
print ('you rolled a',(random.randint(1,6)))
elif dice == 2:
print ('you rolled a',(random.randint(1,6)))
print ('you rolled a',(random.randint(1,6)))
elif dice == 3:
print ('you rolled a',(random.randint(1,6)))
print ('you rolled a',(random.randint(1,6)))
print ('you rolled a',(random.randint(1,6)))
else:
print ('next time enter an option')
elif wid == 'usernamegen':
print ('This app will generate your online username')
lname = input('enter your last name here ')
print('wait 3 seconds')
username = name[:1]+lname[:3]+random.randint(1,99999)
time.sleep(3)
print (username)
这是我使用的代码,但出现此错误
line 33, in <module>
username = str(name[:1]+lname[:3]+random.randint(1,99999))
TypeError: must be str, not int
【问题讨论】:
-
错误信息说明了一切。您只能添加一个类型。所以
name[:1]、lname[:3]、random.randint(1,99999)必须是字符串,或者所有的 em 都必须是整数。 -
random.randint返回一个int,您应该使用str(random.randint)将其转换为str。
标签: python