password=[] bo="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890" for col in range(lenpassword): password.append(''.join([random.choice(bo) for x in range(10)]))
print(password) input()
На с#: namespace PASSGENER { using System; using System.Collections.Generic;
public class Program { static void Genpass(int len) {
string para = "qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNM"; int kol = 10; List res = new List(len) { }; Random rnd = new Random(); int lng = para.Length; char[] temp = new char[kol]; for (int i = 0; i<len; i++) { for (int a = 0; a<kol; a++) { temp[a] = para[rnd.Next(lng)]; } res.Add(new string (temp)); } for (int i = 0; i<res.Count; i++) {Console.WriteLine(res[i]); }
}
public static void Main() { Genpass(Convert.ToInt32(Console.ReadLine())); } } } Если, что я новичок, много чего не понимаю. Глупости не писать!!!
Не знаю, вообще длительность зависит от кода, плюс пайтон интерпретируется, а не компилируется. Также ты используешь random, тоже побыстрее будет. Ну и типы данных разные.
Скорость от вывода без выделения строк не меняется. Уже думал об этом.
Голова Робота
Просветленный
(36328)
Для таких вопросов есть инструмент - profiler. Он показывает, как какая функция сколько выполнялась. Может генератор случайных чисел в Питоне более шустрый. Может Питон быстрее выполняет такие выражения
''.join([random.choice(bo) for x in range(10)])
чем C# в цикле заполняет массив.
import random
lenpassword=int(input("Сколько поролей ?: "))
password=[]
bo="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890"
for col in range(lenpassword):
password.append(''.join([random.choice(bo) for x in range(10)]))
print(password)
input()
На с#:
namespace PASSGENER
{
using System;
using System.Collections.Generic;
public class Program
{
static void Genpass(int len)
{
string para = "qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNM";
int kol = 10;
List res = new List(len) { };
Random rnd = new Random();
int lng = para.Length;
char[] temp = new char[kol];
for (int i = 0; i<len; i++)
{
for (int a = 0; a<kol; a++) { temp[a] = para[rnd.Next(lng)]; }
res.Add(new string (temp));
}
for (int i = 0; i<res.Count; i++) {Console.WriteLine(res[i]); }
}
public static void Main()
{
Genpass(Convert.ToInt32(Console.ReadLine()));
}
}
}
Если, что я новичок, много чего не понимаю. Глупости не писать!!!