我正在参加初级课程,我对编程非常陌生.我需要知道一个函数,它使用某人姓名的第一个字母,一个人姓氏的前三个字母和一个没有空格的3位数字来生成用户名.到目前为止我有这个:
full_name = input("Please enter your name: ")
first_letter = full_name[0]
space_index = full_name.find(" ")
three_letters_surname = full_name[space_index + 1:space_index + 4]
number = random.randrange (1,999)
username = (first_letter, three_letters_surname, number)
print = (username)
Run Code Online (Sandbox Code Playgroud)
我得到的输出是使用John Wayne这样的名字:
"J", "Way", 14
Run Code Online (Sandbox Code Playgroud)
我想知道的是如何更改我的代码,所以我得到类似的东西:
jway014
Run Code Online (Sandbox Code Playgroud) 我是初学者的课程,我制作了这段代码,但它不起作用
random_number = str(random.randrange (1, 1000))
random_number_length = (len (random_number))
zero_number = ("0" * 3 - (random_number_length))
final_number = (random_number_length + random_number)
print (final_number)
Run Code Online (Sandbox Code Playgroud)
最终输出需要看起来像:
004
Run Code Online (Sandbox Code Playgroud)
代替:
4
Run Code Online (Sandbox Code Playgroud)
即使生成的数字是89或7,我也需要得到一个三位数.
当我尝试这个时,我得到错误:
zero_number = ("0" * 3 - (random_number_length))
TypeError: unsupported operand type(s) for -: 'str' and 'int'
Run Code Online (Sandbox Code Playgroud)
我猜它与字符串和整数有关.