【问题标题】:Generating random numbers and add to new line生成随机数并添加到新行
【发布时间】:2021-03-09 20:08:53
【问题描述】:

我刚开始学习python并尝试制作这个简单的程序来生成随机电话号码。

“十进制整数文字中的前导零是不允许的;对八进制整数使用 0o 前缀”运行此代码时出现此错误。 我还想添加一个代码以将所有数字附加到新行中。


Country_Code = "+1"
Country_Code= "646"
Generated_Num = random.randrange(900000, 999999)

print(Country_Code + Country_Code + Generated_Num) 

【问题讨论】:

  • 你的代码的第一行是多余的......变量Country_Code的值在第2行被"646"替换。也许你的意思是另一个变量名?
  • 这是一个错误,第二个变量应该是 Area_Code

标签: python


【解决方案1】:

您可以使用 f-strings,它会自动将数据类型格式化为字符串。通过一些重新排列,您也可以将country_codearea_code 存储为整数。

country_code = 1
area_code = 646
generated_num = random.randrange(900000, 999999)

print(f"+{country_code}{area_code}{generated_num}")

【讨论】:

  • 感谢您的评论,非常有帮助
【解决方案2】:

您不能添加(+ 运算符)字符串,如 Country_Code 和整数,如 Generated_Num

  1. 您可以在打印命令中使用逗号 (','): print(Country_Code , Country_Code , Generated_Num)
  2. 您可以将所有内容打印为字符串,格式更容易:
phone_str = "%s-%s-%d" % (Country_Code , Country_Code , Generated_Num)
print(phone_str)

注意:您正在覆盖Country_Code,我认为您不打算这样做。

【讨论】:

  • 感谢您的评论,它很有帮助,这些用于 "%s-%s-%d" % 是什么?
  • @ImaneAniss:它们是 c 风格的字符串格式化参数。有various ways to format strings in Python。我相信像 JacobLee 一样使用格式标志是当前的 preferred 方式。我只是习惯这样做。本质上:%s ~ 字符串; %d - 十进制(整数)。其余的都是字面意思
【解决方案3】:

Generated_Num 转换为字符串,同时将+ 与其他字符串一起使用
print(Country_Code + Country_Code + str(Generated_Num))

【讨论】:

    【解决方案4】:
    import numpy as np
    
    Country_Code = "+1"
    Country_Code= "646"
    Generated_Num = np.random.randint(900000, 999999)
    
    print(Country_Code +Country_Code + str(Generated_Num))
    

    【讨论】:

    • 为什么要使用 numpy 来生成随机数,尤其是对于那些说他们只是在学习的人?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 2011-05-16
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 2013-11-21
    • 1970-01-01
    相关资源
    最近更新 更多